import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
public class ilo {
static int[] fib = new int[47];
static Set<Integer> multi = new HashSet<Integer>();
public static void main(String[] args) throws IOException {
fib[0] = 0;
fib[1] = 1;
for (int i = 2; i < fib.length; i++) {
fib[i] = fib[i - 2] + fib[i - 1];
}
multi.add(0);
for (int i = 1; i < fib.length; i++) {
for (int j = i; (long) fib[i] * fib[j] < 10000000; j++) {
multi.add(fib[i] * fib[j]);
}
}
BufferedReader reader = new BufferedReader(new InputStreamReader(
System.in));
int t = Integer.parseInt(reader.readLine().trim());
while (t-- > 0) {
int n = Integer.parseInt(reader.readLine().trim());
System.out.println(multi.contains(n) ? "TAK" : "NIE");
}
reader.close();
}
}
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 | import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashSet; import java.util.Set; public class ilo { static int[] fib = new int[47]; static Set<Integer> multi = new HashSet<Integer>(); public static void main(String[] args) throws IOException { fib[0] = 0; fib[1] = 1; for (int i = 2; i < fib.length; i++) { fib[i] = fib[i - 2] + fib[i - 1]; } multi.add(0); for (int i = 1; i < fib.length; i++) { for (int j = i; (long) fib[i] * fib[j] < 10000000; j++) { multi.add(fib[i] * fib[j]); } } BufferedReader reader = new BufferedReader(new InputStreamReader( System.in)); int t = Integer.parseInt(reader.readLine().trim()); while (t-- > 0) { int n = Integer.parseInt(reader.readLine().trim()); System.out.println(multi.contains(n) ? "TAK" : "NIE"); } reader.close(); } } |
English