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

Se citesc doua numere naturale a si b care reprezinta capetele unui interval. Se cere să se afișeze numerele din intervalul inchis [a,b] care au proprietatea ca sunt numere prime si inversul lor este tot numar prim. Daca nu exista astfel de numere se va afisa NU EXISTA. Numerele a si b sunt nenule.
ex. pentru a=10, b=25 va afisa 11 13 17
pentru a=14, b=16 va afisa NU EXISTA

Răspunsuri la întrebare

Răspuns de paaaaaaul
1

#include <iostream>

using namespace std;

int oglindit (int x)

{

   int ogl=0;

   while (x!=0)

   {

       ogl=ogl*10+x%10;

       x=x/10;

   }

   return ogl;

}

int prim(int n)

{

   int d, nrd=0;

   for (d=2; d*d<=n; d++)

       if (n%d==0) nrd++;

       if (nrd==0) return 1;

       else return 0;

}

int main()

{

   int a, b, j, ok=0;

   cin >> a >> b;

   for (j=a; j<=b; j++)

       if (prim(oglindit(j))==1 && prim(j)==1)

       {

           ok=1;

           cout << j << " ";

       }

   if (ok==0) cout << "NU EXISTA";

   return 0;

}

Alte întrebări interesante