#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; } |
English