#include <iostream>
#include <vector>
#include <random>
#include <cstdlib>
#include <time.h>
#include <math.h>
using namespace std;
bool IsPrime(long long candidate)
{
for(long long i=2; i*i< candidate; ++i)
{
if(candidate % i == 0)
{
return false;
}
}
return true;
}
long long Power(long long a, int b, long long result = 1)
{
if(b == 0) return result;
return Power(a, b-1, result*a);
}
int main()
{
srand(time(NULL));
long long input;
bool allDone = false;
cin >> input;
for(int i=1; i<=log10(input); ++i)
{
//if(Modulo(input/Power(10, i-1), 10) != 0) cout << input/Power(10, i) << " " << Modulo(input, Power(10, i)) << "\n";
if(input/Power(10, i-1) % 10 != 0 && IsPrime(input/Power(10, i)) && IsPrime(input % Power(10, i)))
{
allDone = true;
break;
}
}
if(allDone) cout << "TAK\n";
else cout << "NIE\n";
}
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 | #include <iostream> #include <vector> #include <random> #include <cstdlib> #include <time.h> #include <math.h> using namespace std; bool IsPrime(long long candidate) { for(long long i=2; i*i< candidate; ++i) { if(candidate % i == 0) { return false; } } return true; } long long Power(long long a, int b, long long result = 1) { if(b == 0) return result; return Power(a, b-1, result*a); } int main() { srand(time(NULL)); long long input; bool allDone = false; cin >> input; for(int i=1; i<=log10(input); ++i) { //if(Modulo(input/Power(10, i-1), 10) != 0) cout << input/Power(10, i) << " " << Modulo(input, Power(10, i)) << "\n"; if(input/Power(10, i-1) % 10 != 0 && IsPrime(input/Power(10, i)) && IsPrime(input % Power(10, i))) { allDone = true; break; } } if(allDone) cout << "TAK\n"; else cout << "NIE\n"; } |
English