#include <bits/stdc++.h>
using namespace std;
bool czypierwsza(long long x)
{
long long i = 2;
while (i * i < x)
{
if (x % i == 0)
{
return false;
}
i++;
}
return true;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
long long n;
cin >> n;
int j = n % 10;
if (j % 2 == 0 && j != 2)
{
cout << "NIE";
}
else if (j == 2 || j == 5)
{
long long m = floor(n / 10);
if (czypierwsza(m)) cout << "TAK";
else cout << "NIE";
}
else
{
int d = 1;
bool ok = false;
for (int i = 1; i < log10(double(n)); i++)
{
d *= 10;
long long k = n % d;
long long p = floor(n / d);
long long tmp = floor(n / d / 10);
if (czypierwsza(k) && czypierwsza(p) && (tmp % 10 != 0))
{
ok = true;
break;
}
}
if (ok) cout << "TAK";
else cout << "NIE";
}
}
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 <bits/stdc++.h> using namespace std; bool czypierwsza(long long x) { long long i = 2; while (i * i < x) { if (x % i == 0) { return false; } i++; } return true; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); long long n; cin >> n; int j = n % 10; if (j % 2 == 0 && j != 2) { cout << "NIE"; } else if (j == 2 || j == 5) { long long m = floor(n / 10); if (czypierwsza(m)) cout << "TAK"; else cout << "NIE"; } else { int d = 1; bool ok = false; for (int i = 1; i < log10(double(n)); i++) { d *= 10; long long k = n % d; long long p = floor(n / d); long long tmp = floor(n / d / 10); if (czypierwsza(k) && czypierwsza(p) && (tmp % 10 != 0)) { ok = true; break; } } if (ok) cout << "TAK"; else cout << "NIE"; } } |
English