C++
дано число n и массив a1,a2,...an.Найти те элементы массива , которые являются числами Фибоначчи ,если таких нет сообщить об этом.
stglupa:
до скольки a_i ?
Ответы
Ответ дал:
1
Предположим, что все элементы массива по модулю не превышают одного миллиона, тогда код будет иметь следующую структуру :
#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";
}
Вас заинтересует
1 год назад
7 лет назад
8 лет назад