import java.util.HashSet; import java.util.Scanner; import java.util.Set; /** * Created by Krzysztof Kornakiewicz on 07/05/14. * krzysztof.kornakiewicz@gmail.com */ public class ilo { private static Set<Integer> generateFibbonacci(int max) { HashSet<Integer> set = new HashSet<Integer>(); int a = 1; int b = 1; int temp = 0; set.add(1); while (b < max) { temp = a; a = b; b = temp; b += a; set.add(b); } return set; } public static void main(String args[]) { Set<Integer> set = generateFibbonacci(1000000000); int n, x; double y; boolean flag = false; Scanner s = new Scanner(System.in); n = s.nextInt(); while (n-- > 0) { flag = false; x = s.nextInt(); for (int i : set) { y = ((double)x/i); if (set.contains((int) y) && y == Math.floor(y)) { flag = true; System.out.println("TAK"); break; } } if (!flag) { System.out.println("NIE"); } } } }
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 | import java.util.HashSet; import java.util.Scanner; import java.util.Set; /** * Created by Krzysztof Kornakiewicz on 07/05/14. * krzysztof.kornakiewicz@gmail.com */ public class ilo { private static Set<Integer> generateFibbonacci(int max) { HashSet<Integer> set = new HashSet<Integer>(); int a = 1; int b = 1; int temp = 0; set.add(1); while (b < max) { temp = a; a = b; b = temp; b += a; set.add(b); } return set; } public static void main(String args[]) { Set<Integer> set = generateFibbonacci(1000000000); int n, x; double y; boolean flag = false; Scanner s = new Scanner(System.in); n = s.nextInt(); while (n-- > 0) { flag = false; x = s.nextInt(); for (int i : set) { y = ((double)x/i); if (set.contains((int) y) && y == Math.floor(y)) { flag = true; System.out.println("TAK"); break; } } if (!flag) { System.out.println("NIE"); } } } } |