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

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
Va rooog sa ma ajutati)))

Răspunsuri la întrebare

Răspuns de GabiAlex99
1

#include<iostream>

using namespace std;

int main()

{

int a, ca, inv=0, prim=1;

cin>>a;

ca=a;

while(ca) {

   inv=inv*10+ca%10;

   ca=ca/10;

}

for(int i=2;i*i<=a;i++)

if(a%i==0) prim=0;

for(int i=2;i*i<=inv;i++)

if(inv%i==0) prim=0;

if(a==1) prim=0;

if(prim==1) cout<<"DA";

else cout<<"NU";

}

Alte întrebări interesante