#include <cstdio>
#include <vector>
#include <algorithm>
#define SIZE 23
std::vector<int> tablica = {1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368};
void check_fibonacci(int param)
{
if(param == 0){printf("%s", "TAK\n");return;}
for(int i = 0 ; i < SIZE ; ++i)
{
if(param % tablica[i] != 0)
continue;
if (std::binary_search (tablica.begin(), tablica.end(), param/tablica[i])){printf("%s", "TAK\n");return;}
}
printf("%s", "NIE\n");return;
}
int main(void)
{
std::vector<int> params;
int stop = 0, temp = 0;
scanf("%i", &stop);
params.reserve(stop);
for(int i = 0 ; i < stop ; ++i)
{
scanf("%i", &temp);
params.push_back(temp);
}
auto funkcja = std::bind(check_fibonacci, std::placeholders::_1);
for_each(params.begin() , params.end(), funkcja);
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #include <cstdio> #include <vector> #include <algorithm> #define SIZE 23 std::vector<int> tablica = {1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368}; void check_fibonacci(int param) { if(param == 0){printf("%s", "TAK\n");return;} for(int i = 0 ; i < SIZE ; ++i) { if(param % tablica[i] != 0) continue; if (std::binary_search (tablica.begin(), tablica.end(), param/tablica[i])){printf("%s", "TAK\n");return;} } printf("%s", "NIE\n");return; } int main(void) { std::vector<int> params; int stop = 0, temp = 0; scanf("%i", &stop); params.reserve(stop); for(int i = 0 ; i < stop ; ++i) { scanf("%i", &temp); params.push_back(temp); } auto funkcja = std::bind(check_fibonacci, std::placeholders::_1); for_each(params.begin() , params.end(), funkcja); return 0; } |
English