#include<iostream> using namespace std; const int MAX=30; int tab[MAX]; int m=0; int spr(int x) { for(int i=1;i<m;++i) if(x%tab[i]==0) for(int j=1;j<m;++j) if(x/tab[i]==tab[j]) return 1; return 0; } int main() { int liczba=0,i=2; tab[0]=0;tab[1]=1; while(liczba<31623) { tab[i]=tab[i-1]+tab[i-2]; liczba=tab[i]; i++; m=i; } int t,n; cin>>t; for(int i=0;i<t;++i) { cin>>n; if(n==0 || spr(n)) cout<<"TAK"<<endl; else cout<<"NIE"<<endl; } 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 | #include<iostream> using namespace std; const int MAX=30; int tab[MAX]; int m=0; int spr(int x) { for(int i=1;i<m;++i) if(x%tab[i]==0) for(int j=1;j<m;++j) if(x/tab[i]==tab[j]) return 1; return 0; } int main() { int liczba=0,i=2; tab[0]=0;tab[1]=1; while(liczba<31623) { tab[i]=tab[i-1]+tab[i-2]; liczba=tab[i]; i++; m=i; } int t,n; cin>>t; for(int i=0;i<t;++i) { cin>>n; if(n==0 || spr(n)) cout<<"TAK"<<endl; else cout<<"NIE"<<endl; } return 0; } |