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>
#include<vector>

using namespace std;

int main() {

int t;
cin >> t;

vector<int> f;
for(int i=0; i<t; ++i) {

    int liczba;
    cin >> liczba;
    f.push_back(0);
    int a=1; int size=1;
    while(a <= liczba) {
        f.push_back(a); size++;
        a=f[size-1]+f[size-2];
    }

  //  for(int j=0; j<size; j++) cout << f[j] << " "; cout << endl;
    int pocz=0; int kon=size-1;

    while(pocz <= kon) {
       if(f[pocz]*f[kon] < liczba) pocz++;
       if(f[pocz]*f[kon] > liczba) kon--;
       if(f[pocz]*f[kon] == liczba) break;
    }
    if(f[pocz]*f[kon]==liczba) cout << "TAK" << endl;
    else cout << "NIE" << endl;
    f.clear();
}

return 0;
}