#include <cstdio> #include <cmath> inline long long min(long long a, long long b) { return a < b ? a : b; } inline long long max(long long a, long long b) { return a > b ? a : b; } int main() { long long a = 0, b = 0, c = 0; scanf("%Ld", &b); bool bad; for (int i = 0; i < 13; i++) { bad = false; if (a != 0) c = a; a = b % 10; b /= 10; if (a == 0) continue; a *= powl(10, i); a += c; // printf("%Ld %Ld\n", a, b); if (b == 0) break; if (min(a, b) == 1) bad = true; for (long long j = 2; j <= sqrtl(min(a, b)); j++) { if (min(a, b) % j == 0) { bad = true; break; } } if (!bad) { for (long long j = 2; j <= sqrtl(max(a, b)); j++) { if (max(a, b) % j == 0) { bad = true; break; } } } // printf("%Ld %Ld\n", a, b); if (!bad) { printf("TAK\n"); return 0; } } printf("NIE\n"); return 0; }
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 53 54 55 | #include <cstdio> #include <cmath> inline long long min(long long a, long long b) { return a < b ? a : b; } inline long long max(long long a, long long b) { return a > b ? a : b; } int main() { long long a = 0, b = 0, c = 0; scanf("%Ld", &b); bool bad; for (int i = 0; i < 13; i++) { bad = false; if (a != 0) c = a; a = b % 10; b /= 10; if (a == 0) continue; a *= powl(10, i); a += c; // printf("%Ld %Ld\n", a, b); if (b == 0) break; if (min(a, b) == 1) bad = true; for (long long j = 2; j <= sqrtl(min(a, b)); j++) { if (min(a, b) % j == 0) { bad = true; break; } } if (!bad) { for (long long j = 2; j <= sqrtl(max(a, b)); j++) { if (max(a, b) % j == 0) { bad = true; break; } } } // printf("%Ld %Ld\n", a, b); if (!bad) { printf("TAK\n"); return 0; } } printf("NIE\n"); return 0; } |