#include<stdio.h>
unsigned int Fib(unsigned int n) {
int f,f0=0,f1=1,i;
if (n==0) return 0;
else if (n==1) return 1;
else
for (i=1;i<n;i++) {
f=f1+f0;
f0=f1;
f1=f;
}
return f;
}
int main() {
unsigned int wynik,wynik2,l,t,n;
char *wyjscie[10];
scanf("%d",&t);
for(l=0;l<t;l++) {
scanf("%d",&n);
int ok=0;
int i=1;
wynik=Fib(1);
while ((wynik<=n)&&(ok!=1)) {
int j=1;
wynik2=Fib(1);
while ((wynik2<=n)&&(ok!=1)) {
if (wynik*wynik2==n) ok=1;
else {
j++;
wynik2=Fib(j);
}
}
i++;
wynik=Fib(i);
}
if (ok==1) wyjscie[l]="TAK";
else wyjscie[l]="NIE";
}
for (l=0;l<t;l++){
printf("%s\n",wyjscie[l]);
}
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 | #include<stdio.h> unsigned int Fib(unsigned int n) { int f,f0=0,f1=1,i; if (n==0) return 0; else if (n==1) return 1; else for (i=1;i<n;i++) { f=f1+f0; f0=f1; f1=f; } return f; } int main() { unsigned int wynik,wynik2,l,t,n; char *wyjscie[10]; scanf("%d",&t); for(l=0;l<t;l++) { scanf("%d",&n); int ok=0; int i=1; wynik=Fib(1); while ((wynik<=n)&&(ok!=1)) { int j=1; wynik2=Fib(1); while ((wynik2<=n)&&(ok!=1)) { if (wynik*wynik2==n) ok=1; else { j++; wynik2=Fib(j); } } i++; wynik=Fib(i); } if (ok==1) wyjscie[l]="TAK"; else wyjscie[l]="NIE"; } for (l=0;l<t;l++){ printf("%s\n",wyjscie[l]); } return 0; } |
English