#include <cstdio> #include <set> int main(){ std::set<long long> myset; long long tab[500],max; long long a,b,t,i,j,k; tab[0]=0; tab[1]=1; for(k = 2 ; tab[k-1]<1000000000 ; k++){ tab[k]=tab[k-1]+tab[k-2]; } myset.insert(0); for(i = 1 ; i<k ; i++) for(j = i ; j<k ; j++){ a = tab[i]*tab[j]; if(a>1000000000) break; else{ myset.insert(a); } } scanf("%lld",&t); while(t--){ scanf("%lld",&a); if(myset.find(a) != myset.end()) 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 | #include <cstdio> #include <set> int main(){ std::set<long long> myset; long long tab[500],max; long long a,b,t,i,j,k; tab[0]=0; tab[1]=1; for(k = 2 ; tab[k-1]<1000000000 ; k++){ tab[k]=tab[k-1]+tab[k-2]; } myset.insert(0); for(i = 1 ; i<k ; i++) for(j = i ; j<k ; j++){ a = tab[i]*tab[j]; if(a>1000000000) break; else{ myset.insert(a); } } scanf("%lld",&t); while(t--){ scanf("%lld",&a); if(myset.find(a) != myset.end()) printf("TAK\n"); else printf("NIE\n"); } return 0; } |