#include <iostream> #define NUM_FACTORS 43 using namespace std; int tab[] = {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}; int main() { int t; int n,m; cin >> t; while(t--) { bool found = false; cin >> n; if (n <= 3) { found = true; } for (int i = 0; i < NUM_FACTORS; ++i) { for (int j = 0; j < NUM_FACTORS; ++j) { if (n % tab[i] != 0) break; if ((n / tab[i]) == tab[j]) { found = true; break; } } if (found) break; } if (found) cout << "TAK\n"; else cout << "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 40 41 42 43 44 45 46 | #include <iostream> #define NUM_FACTORS 43 using namespace std; int tab[] = {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}; int main() { int t; int n,m; cin >> t; while(t--) { bool found = false; cin >> n; if (n <= 3) { found = true; } for (int i = 0; i < NUM_FACTORS; ++i) { for (int j = 0; j < NUM_FACTORS; ++j) { if (n % tab[i] != 0) break; if ((n / tab[i]) == tab[j]) { found = true; break; } } if (found) break; } if (found) cout << "TAK\n"; else cout << "NIE\n"; } return 0; } |