Răspuns :
Ai nevoie de doi algoritmi elementari: oglinditul unui numar si testul de prim. Iti scriu main-ul, sper sa nu fie o problema;
int main(){int i,p,x,ok1,ok2,d;
for(i=101;i<=997;i++)//nu iau in calcul 100, 998, 999 fiindca nu sunt numere prime
{//test prim pentru i
ok1=1;
for(d=2;d*d<=i;d++) if(i%d) ok1=0;
if(ok1)//daca i este prim, incep sa calculez oglinditul
{
//algoritm realizare oglindit, incep prin a face o copie lui i;
x=i;p=0;
while(x){p=p*10+x%10;x/=10;}
ok2=1;
for(d=2;d*d<=p;d++) if(p%d) ok2=0;
if(ok2) cout<<i<<' ';
}}
return 0;}
Un alt algoritm mult mai eficient este folosirea Ciurului lui Euclid, dar nu stiu daca ati vorbit de el. Oricum, implementarea si explicatia lui se gasesc pe net.
int main(){int i,p,x,ok1,ok2,d;
for(i=101;i<=997;i++)//nu iau in calcul 100, 998, 999 fiindca nu sunt numere prime
{//test prim pentru i
ok1=1;
for(d=2;d*d<=i;d++) if(i%d) ok1=0;
if(ok1)//daca i este prim, incep sa calculez oglinditul
{
//algoritm realizare oglindit, incep prin a face o copie lui i;
x=i;p=0;
while(x){p=p*10+x%10;x/=10;}
ok2=1;
for(d=2;d*d<=p;d++) if(p%d) ok2=0;
if(ok2) cout<<i<<' ';
}}
return 0;}
Un alt algoritm mult mai eficient este folosirea Ciurului lui Euclid, dar nu stiu daca ati vorbit de el. Oricum, implementarea si explicatia lui se gasesc pe net.
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Ne bucurăm dacă informațiile oferite v-au fost de ajutor. Pentru orice întrebare sau clarificare suplimentară, echipa noastră vă stă la dispoziție. Revenirea dumneavoastră ne onorează – nu uitați să ne salvați în lista de favorite!