Предположим, что все элементы массива по модулю не превышают одного миллиона, тогда код будет иметь следующую структуру :
#include <iostream>
#include <set>
using namespace std;
signed main(){
set<int> fibs;
fibs.insert(1);
fibs.insert(2);
while(*next(fibs.begin(),fibs.size() - 1) + *next(fibs.begin(), fibs.size() - 2) <= int(1e6))
fibs.insert(*next(fibs.begin(),fibs.size() - 1) + *next(fibs.begin(), fibs.size() - 2));
int n;
cin >> n;
int a[n];
bool f = false;
for(int i = 0; i < n; i++){
cin >> a[i];
if(fibs.find(a[i]) != fibs.end()){
cout << a[i] << " ";
f = true;
}
if(!f)
cout << "There are no fibonacci elements in current array";
Copyright © 2024 SCHOLAR.TIPS - All rights reserved.
Answers & Comments
Предположим, что все элементы массива по модулю не превышают одного миллиона, тогда код будет иметь следующую структуру :
#include <iostream>
#include <set>
using namespace std;
signed main(){
set<int> fibs;
fibs.insert(1);
fibs.insert(2);
while(*next(fibs.begin(),fibs.size() - 1) + *next(fibs.begin(), fibs.size() - 2) <= int(1e6))
fibs.insert(*next(fibs.begin(),fibs.size() - 1) + *next(fibs.begin(), fibs.size() - 2));
int n;
cin >> n;
int a[n];
bool f = false;
for(int i = 0; i < n; i++){
cin >> a[i];
if(fibs.find(a[i]) != fibs.end()){
cout << a[i] << " ";
f = true;
}
}
if(!f)
cout << "There are no fibonacci elements in current array";
}