Informatică, întrebare adresată de alexandramaryn, 8 ani în urmă

Dandu-se un număr natural a , sa se verifice daca a si inversul (oglinditul) lui a sunt ambele numere prime .
DATE DE INTRARE
Se citeste de la tastatura numărul natural a.
DATE DE IEȘIRE
Sa se afișeze DA daca numărul a si inversul sau sunt ambele prime sau NU, în caz contrar .
Mentionez ca la prima poza primesc doar 44 de puncte ,deși în CodeBlocks merge perfect ( la valoare 23 imi afișează corect , Nu) , iar la a doua primesc 78 de puncte ,deși la valoarea 23 nu imi afișează corect (Da).

Anexe:

Răspunsuri la întrebare

Răspuns de andriesvladandr
1

scriu in 3 minute solutia


andriesvladandr: #include
using namespace std;
int a;
int prim(int x)
{
if(x<2) return 0;
if(x==2) return 1;
if(x%2==0) return 0;
for(int d=3; d*d<=x; d+=2)
if(x%d==0) return 0;
return 1;
}
int oglindit(int x)
{
int og=0;
while(x)
{
og=og*10+x%10;
x/=10;
}
return og;
}
int main()
{
cin>>a;
if(prim(oglindit(a)) && prim(a)) {cout<<"DA"; return 0;}
else cout<<"NU";
return 0;
}
alexandramaryn: Iti multumesc multtt ! :)
Alte întrebări interesante