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 pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!