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
60
61
62
63
64
65
66
#include <stdio.h>
#define lli long long int
int testy[10];
char* odp_t[10];
long long int fib_tab[90];
int t;
char* yet = "TAK";
char* net = "NIE";
void wyp_fib()
{
 unsigned lli ax;
    fib_tab[0] = 0;
    fib_tab[1] = 1;
    for(int i = 2; i<= 89; i++)
    {
        ax = fib_tab[i-1] + fib_tab[i-2];
        fib_tab[i] = ax;
    }//for
}
void get_t()
{
   lli tx;
     scanf("%i",&t);
    for(int i = 0; i< t; i++)
    {   tx = 0;
        scanf("%i",&tx);
        testy[i] = tx;
        odp_t[i] = "NIE";
    }
}
void check_t( int ab, int odp)
{
    bool ok= false;
    for(int i =0; i<=89;i++)
    {
            if(ok) break;
        for(int k =0; k<= 89;k++)
        {
            if(ab == (fib_tab[i] * fib_tab[k]))
            {
                odp_t[odp] = yet;
                ok = true;
                break;
            }
           else odp_t[odp] = net;
        }//for k
    }// for i
}
void printout()
{
    for(int i = 0; i< t; i++)
		{
			printf("%s \n",odp_t[i]);
        }
}
int main()
{
        wyp_fib();
        get_t();
        for(int x = 0; x< t; x++)
            {
                check_t(testy[x],x);
            }
            printout();
    return 0;
}