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
#include <iostream>
using namespace std;

int main()
{
    int t, n;
    int liczby_fibonacciego[46];
    bool test = false;

    liczby_fibonacciego[0] = 0;
    liczby_fibonacciego[1] = 1;
    for(int i = 0; i < 44; i++)
        liczby_fibonacciego[i+2] = liczby_fibonacciego[i] + liczby_fibonacciego[i+1];

    cin >> t;
    for(int i = 0; i < t; i++)
    {
        cin >> n;
        for(int j = 0; j < 46; j++)
        {
            if(liczby_fibonacciego[j] > n) break;
            for(int k = 0; k < 46; k++)
            {
                if(liczby_fibonacciego[k] > n) break;
                if(liczby_fibonacciego[j]*liczby_fibonacciego[k] == n)
                {
                    test = true;
                    break;
                }
            }
            if(test) break;
        }
        if(test) cout << "TAK" << endl;
        else cout << "NIE" << endl;
        test = false;
    }
}