#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; } |
polski