#include <iostream> #include <algorithm> #include <string> using namespace std; bool is_prime(long long n) { for (long long i = 2; i < n; ++i) { if (n % i == 0) { return false; } if(i * i > n) { return true; } } return true; } long long to_int(string s) { return stoll(s); } bool is_dru(string n) { if(n.size() < 2) { return false; } for (int l = 1; l < n.size(); ++l) { string a = n.substr(0, l); string b = n.substr(l); if (b[0] == '0') continue; long long aa = to_int(a); long long bb = to_int(b); if (is_prime(aa) && is_prime(bb)) { return true; } } return false; } int main() { ios_base::sync_with_stdio(false); string n; cin >> n; cout << (is_dru(n) ? "TAK" : "NIE") << endl;; 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 | #include <iostream> #include <algorithm> #include <string> using namespace std; bool is_prime(long long n) { for (long long i = 2; i < n; ++i) { if (n % i == 0) { return false; } if(i * i > n) { return true; } } return true; } long long to_int(string s) { return stoll(s); } bool is_dru(string n) { if(n.size() < 2) { return false; } for (int l = 1; l < n.size(); ++l) { string a = n.substr(0, l); string b = n.substr(l); if (b[0] == '0') continue; long long aa = to_int(a); long long bb = to_int(b); if (is_prime(aa) && is_prime(bb)) { return true; } } return false; } int main() { ios_base::sync_with_stdio(false); string n; cin >> n; cout << (is_dru(n) ? "TAK" : "NIE") << endl;; return 0; } |