#include <cstdio> #include <cstring> #include <cmath> using namespace std; bool pierwsza(long long u){ if(u == 2) return true; if(u == 1 || u == 0) return false; long long s = sqrt(u); for(long long i = 2; i <= s; i++){ //printf(" testuje %d\n", i); if(u % i == 0) return false; } return true; } int char2int(char c){ return int(c) - int('0'); } long long str2long(char* str, int begin, int end){ long long w = char2int(str[begin]); for(int i = begin+1; i <= end; i++){ w *= 10; w += char2int(str[i]); } //printf("Zwracam %d\n", w); return w; } int main() { char liczba[15]; scanf("%s", liczba); int len = strlen(liczba); //printf("%s %d" ,liczba, len); for(int i = 1; i < len; i++){ if(liczba[i] == '0') continue; //printf("Sprawdzam pozycje %d %d\n", i-1, i); if(pierwsza(str2long(liczba, 0, i-1)) && pierwsza(str2long(liczba, i, len-1)) ){ printf("TAK\n"); //printf("TAK %lld %lld\n", str2long(liczba, 0, i-1), str2long(liczba, i, len-1)); 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 | #include <cstdio> #include <cstring> #include <cmath> using namespace std; bool pierwsza(long long u){ if(u == 2) return true; if(u == 1 || u == 0) return false; long long s = sqrt(u); for(long long i = 2; i <= s; i++){ //printf(" testuje %d\n", i); if(u % i == 0) return false; } return true; } int char2int(char c){ return int(c) - int('0'); } long long str2long(char* str, int begin, int end){ long long w = char2int(str[begin]); for(int i = begin+1; i <= end; i++){ w *= 10; w += char2int(str[i]); } //printf("Zwracam %d\n", w); return w; } int main() { char liczba[15]; scanf("%s", liczba); int len = strlen(liczba); //printf("%s %d" ,liczba, len); for(int i = 1; i < len; i++){ if(liczba[i] == '0') continue; //printf("Sprawdzam pozycje %d %d\n", i-1, i); if(pierwsza(str2long(liczba, 0, i-1)) && pierwsza(str2long(liczba, i, len-1)) ){ printf("TAK\n"); //printf("TAK %lld %lld\n", str2long(liczba, 0, i-1), str2long(liczba, i, len-1)); return 0; } } printf("NIE\n"); return 0; } |