#include <stdio.h> #include <math.h> int czypierwsza(long n){ if(n == 1) return 0; if(n == 2) return 1; if(n%2 == 0) return 0; long i = 1; long sqr2 = sqrt(n)/2+1; while(i++ <= sqr2){ if(n%(2*i+1) == 0) return 0; } return 1; } void czydruga(long n){ long lewa = n; long prawa = 0; long potega = 1; int nie = 1; if(n%10 == 0){ nie = 0; printf("NIE"); } int niezero; while(lewa > 0 && nie){ if(lewa%10 == 0) niezero = 0; prawa += (lewa%10)*(potega); lewa /= 10; if(niezero && czypierwsza(lewa) && czypierwsza(prawa)){ nie = 0; printf("TAK"); } potega *= 10; niezero = 1; } if(nie) printf("NIE"); } int main(void) { long liczba; scanf("%ld", &liczba); czydruga(liczba); 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 | #include <stdio.h> #include <math.h> int czypierwsza(long n){ if(n == 1) return 0; if(n == 2) return 1; if(n%2 == 0) return 0; long i = 1; long sqr2 = sqrt(n)/2+1; while(i++ <= sqr2){ if(n%(2*i+1) == 0) return 0; } return 1; } void czydruga(long n){ long lewa = n; long prawa = 0; long potega = 1; int nie = 1; if(n%10 == 0){ nie = 0; printf("NIE"); } int niezero; while(lewa > 0 && nie){ if(lewa%10 == 0) niezero = 0; prawa += (lewa%10)*(potega); lewa /= 10; if(niezero && czypierwsza(lewa) && czypierwsza(prawa)){ nie = 0; printf("TAK"); } potega *= 10; niezero = 1; } if(nie) printf("NIE"); } int main(void) { long liczba; scanf("%ld", &liczba); czydruga(liczba); return 0; } |