#include<cstdio>
#include<set>
#include<vector>
#define maksi 1000000000
using namespace std;
set<int> ilo;
vector<int> fib;
vector<bool> odp;
int main(){
int a1=1;//zmienne do generacji
int a2=1;
int w=0,pom;
//int i=0;
//int maksi;
fib.push_back(1);
while(w<maksi){//generacja fibbonaciego
w=a1+a2;
a1=a2;
a2=w;
//i++;
fib.push_back(w);
ilo.insert(1);
//printf("%d\n",w);
}
for(int i=0;i<fib.size();i++){//generacja iloczynu
for(int j=i;j<fib.size();j++){
long long przetwor=(long long)fib[i]*fib[j];
if(przetwor<=maksi)ilo.insert(przetwor);
else break;
}
}
ilo.insert(0);
int t;//generacja odpowiedzi
scanf("%d",&t);
for(int i=0;i<t;i++){
int czy;
scanf("%d",&czy);
if(ilo.find(czy)!=ilo.end())odp.push_back(true);
else odp.push_back(false);
}
for(int i=0;i<odp.size();i++){
if(odp[i])printf("TAK\n");
else printf("NIE\n");
}
//for(set<int> ::iterator iter = ilo.begin();iter!=ilo.end();++iter){printf("%d ",*iter);}
//printf("%d ",ilo.size());
//for(vector<int> ::iterator iter = fib.begin();iter!=fib.end();++iter){printf("%d ",*iter);}
//printf("%d\n",i);
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 47 48 49 50 51 52 53 54 55 56 57 58 59 | #include<cstdio> #include<set> #include<vector> #define maksi 1000000000 using namespace std; set<int> ilo; vector<int> fib; vector<bool> odp; int main(){ int a1=1;//zmienne do generacji int a2=1; int w=0,pom; //int i=0; //int maksi; fib.push_back(1); while(w<maksi){//generacja fibbonaciego w=a1+a2; a1=a2; a2=w; //i++; fib.push_back(w); ilo.insert(1); //printf("%d\n",w); } for(int i=0;i<fib.size();i++){//generacja iloczynu for(int j=i;j<fib.size();j++){ long long przetwor=(long long)fib[i]*fib[j]; if(przetwor<=maksi)ilo.insert(przetwor); else break; } } ilo.insert(0); int t;//generacja odpowiedzi scanf("%d",&t); for(int i=0;i<t;i++){ int czy; scanf("%d",&czy); if(ilo.find(czy)!=ilo.end())odp.push_back(true); else odp.push_back(false); } for(int i=0;i<odp.size();i++){ if(odp[i])printf("TAK\n"); else printf("NIE\n"); } //for(set<int> ::iterator iter = ilo.begin();iter!=ilo.end();++iter){printf("%d ",*iter);} //printf("%d ",ilo.size()); //for(vector<int> ::iterator iter = fib.begin();iter!=fib.end();++iter){printf("%d ",*iter);} //printf("%d\n",i); return 0; } |
English