Dându-se un număr natural a, să se verifice dacă a și inversul (oglinditul) lui a sunt ambele numere prime.
Date de intrare
Se citește de la tastatură numărul natural a.
Date de ieșire
Să se afișeze DA dacă numărul a și inversul său sunt ambele prime sau NU, în caz contrar.
Restricții și precizări
1 ≤ a < 300000
a nu are ultima cifră 0
folositi doar while loop
ajutbia:
Ma poți ajuta la un aritmogrif
Răspunsuri la întrebare
Răspuns de
1
int main(){
int a, inv=0,ok=1,d;
cin >> a;
copiea = a;
//Verifica daca a este prim
if(a < 2) ok = 0;
d=2;
while(d <= a/2 && ok==1){
if(a%d==0) ok = 0;
d++;
}
//Construieste inversul lui a
while(a>0){
inv = inv*10+a;
a = a/10;
}
//Verifica daca inversul este prim
if(inv < 2) ok = 0;
d=2;
while(inv <= a/2 && ok==1){
if(inv%d==0) ok = 0;
d++;
}
if(ok==1) cout << "Da";
else cout << "Nu";
}
using namespace std;
int main() {
int a, a2;
cin >> a;
a2 = a;
if (a2 == 0 || a2 == 1) {
cout << "NU";
}
int i = 2, is_prime = 1;
while (i * i <= a2) {
if (a2 % i == 0) {
is_prime = 0;
}
++i;
}
int mirr = 0;
while (a != 0) {
mirr = (mirr * 10) + (a % 10);
a = a / 10;
}
while (i * i <= mirr) {
if (mirr % i == 0) {
is_prime = 0;
}
++i;
}
if (is_prime == 1) {
cout << "DA";
}
else {
cout << "NU";
}
return 0;
}
Alte întrebări interesante
Engleza,
8 ani în urmă
Istorie,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă