Untitled
unknown
java
2 years ago
2.3 kB
3
Indexable
/* Decompiler 15ms, total 303ms, lines 60 */ import java.util.Arrays; import java.util.PrimitiveIterator.OfInt; import java.util.Scanner; public class Flag { static int[] primos = new int[]{2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199}; static int[][] flag = new int[][]{{2, 53}, {3, 3, 13}, {2, 7, 7}, {5, 23}, {101}, {2, 61}, {101}, {2, 5, 5}, {2, 7, 7}, {47}, {2, 2, 3, 3, 3}, {3, 37}, {2, 2, 2, 2, 3}, {107}, {3, 17}, {5, 23}, {2, 2, 2, 2, 3}, {47}, {3, 37}, {2, 2, 2, 2, 2, 3}, {101}, {3, 17}, {2, 7, 7}, {5, 23}, {47}, {113}, {2, 2, 2, 2, 3}, {11, 11}, {3, 17}, {5, 23}, {2, 2, 2, 2, 3}, {47}, {3, 37}, {2, 2, 2, 2, 2, 3}, {3, 37}, {113}, {2, 2, 2, 2, 3}, {2, 2, 3, 3, 3}, {2, 5, 5}, {2, 2, 29}, {2, 3, 3, 7}}; static int[] factorizar(int var0) { OfInt var1 = Arrays.stream(primos).iterator(); int var2 = (Integer)var1.next(); int[] var3 = new int[0]; int var4 = 0; while(var4 != 1) { if (var0 % var2 != 0) { var2 = (Integer)var1.next(); } else { var3 = Arrays.copyOf(var3, var3.length + 1); var3[var3.length - 1] = var2; var0 = var4 = var0 / var2; } } return var3; } public static void main(String[] var0) { Scanner scan = new Scanner(System.in); final String line = scan.next(); //String var1 = System.console().readLine("Introduce la flag: "); System.out.println(line.length()); if (line.length() != flag.length) { System.out.println("Noooo."); System.exit(0); } boolean var2 = false; for(int var3 = 0; var3 < line.length(); ++var3) { char var4 = line.charAt(var3); int var6; if (var4 % 5 == 0) { var6 = var4 + 1; } else { var6 = var4 - 1; } int[] var5 = factorizar(var6); if (!Arrays.equals(var5, flag[var3])) { var2 = true; break; } } if (var2) { System.out.println("Flag incorrecta"); } else { System.out.println("Buen trabajo. Has encontrado la flag"); } } }
Editor is loading...