#include <cstdio>
using namespace std;
const long long fibs[] = {0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,
1597,2584,4181,6765,10946,17711,28657,46368,75025,121393,196418,
317811,514229,832040,1346269,2178309,3524578,5702887,9227465,
14930352,24157817,39088169,63245986,102334155,165580141,267914296,
433494437,701408733,1134903170,1836311903};
const long MAX=45;
int main() {
long t;
long long x;
bool possible;
scanf("%ld\n", &t);
for (int i=0; i<t; i++) {
scanf("%lld\n", &x);
//printf("%ld\n", fibs[x]);
possible = false;
for (int j=0;j<MAX && fibs[j]<=x;j++) {
for (int k=0;k<MAX && fibs[k]<=x;k++) {
if (fibs[j]*fibs[k] == x) {
possible = true;
}
}
}
if (possible) {
printf("TAK\n");
} else {
printf("NIE\n");
}
}
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 35 36 37 38 39 | #include <cstdio> using namespace std; const long long fibs[] = {0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987, 1597,2584,4181,6765,10946,17711,28657,46368,75025,121393,196418, 317811,514229,832040,1346269,2178309,3524578,5702887,9227465, 14930352,24157817,39088169,63245986,102334155,165580141,267914296, 433494437,701408733,1134903170,1836311903}; const long MAX=45; int main() { long t; long long x; bool possible; scanf("%ld\n", &t); for (int i=0; i<t; i++) { scanf("%lld\n", &x); //printf("%ld\n", fibs[x]); possible = false; for (int j=0;j<MAX && fibs[j]<=x;j++) { for (int k=0;k<MAX && fibs[k]<=x;k++) { if (fibs[j]*fibs[k] == x) { possible = true; } } } if (possible) { printf("TAK\n"); } else { printf("NIE\n"); } } return 0; } |
English