Informatică, întrebare adresată de vghduv377, 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

Răspunsuri la întrebare

Răspuns de stefanteodorescu2008
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:
vghduv377: for, if, else if, else, while.
vghduv377: am uitat de int
Alte întrebări interesante