#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
bool IsPrime(unsigned long num)
{
for (unsigned long i = 2; i < num; i++)
{
if (num % i == 0)
{
return false;
}
}
return true;
}
bool IsPrime(string s_num)
{
unsigned long num = stoul(s_num, NULL, 0);
return IsPrime(num);
}
bool IsDRU(unsigned long num)
{
string s_num = to_string(num);
unsigned short len = (unsigned short)s_num.length();
for (int i = 1; i < len; i++)
{
if (IsPrime(s_num.substr(0, i)) && IsPrime(s_num.substr(i, len - i)))
{
return true;
}
}
return false;
}
int main()
{
unsigned long num;
cin >> num;
string result;
result = IsDRU(num) ? "TAK" : "NIE";
cout << result;
}
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 | #include <iostream> #include <string> #include <stdlib.h> using namespace std; bool IsPrime(unsigned long num) { for (unsigned long i = 2; i < num; i++) { if (num % i == 0) { return false; } } return true; } bool IsPrime(string s_num) { unsigned long num = stoul(s_num, NULL, 0); return IsPrime(num); } bool IsDRU(unsigned long num) { string s_num = to_string(num); unsigned short len = (unsigned short)s_num.length(); for (int i = 1; i < len; i++) { if (IsPrime(s_num.substr(0, i)) && IsPrime(s_num.substr(i, len - i))) { return true; } } return false; } int main() { unsigned long num; cin >> num; string result; result = IsDRU(num) ? "TAK" : "NIE"; cout << result; } |
English