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
Exemplu
Date de intrare Date de ieșire
5----------------------------- DA
122 --------------------------- NU
17------------------------------- DA
Răspunsuri la întrebare
Răspuns de
0
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int a,ok=1,ok1=1,ra=0;
cin>>a;
int ca;
ca=a;
int z=1;
while(ca>0)
{
ra=ca%10*z+ra;
z=z*10;
ca=ca/10;
}
for(int i=2;i<a;i++)
{
if(a%i==0)
{
ok=0;
break;
}
}
for(int i=2;i<ra;i++)
{
if(ra%i==0)
{
ok1=0;
break;
}
}
if(ok1==1&&ok==1)
cout<<"DA";
else
cout<<"NU";
return 0;
}
Explicație:
am facut teste doar cu numeele date de tine
vghduv377:
imi da decat 73 de puncte. problema cred ca este acolo ca ai folosit break. eu am voie sa folosesc decat urmatoarele:
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă