👤
a fost răspuns

Sa se afiseze toate numerele naturale prime/palindrom/perfecte/patrate perfecte cuprinse intre
doua valori p si q.


Răspuns :

#include <iostream>

using namespace std;

int main()

{

int p, q, i, j, prim, inv=0, x, divizori, patrat_perfect;

cout<<"p="; cin>>p;

cout<<"q="; cin>>q;

cout<<"nr. prime:";

for(i=p;i<=q;i++){

 prim=1;

 for(j=2;j<=i/2;j++)

  if(i%j==0)

   prim=0;

 if(prim) cout<<i<<' ';

}

cout<<'\n';

cout<<"nr. palindrom:";

for(i=p;i<=q;i++)

{

 x=i; inv=0;

 while(x){

  inv=inv*10+x%10;

  x=x/10;

 }

 if(inv==i)

  cout<<i<<' ';

}

cout<<'\n';

cout<<"nr. perfecte:";

for(i=p;i<=q;i++)

{

 divizori=0;

 for(j=1;j<=i/2;j++)

  if(i%j==0)

   divizori=divizori+j;

 if(divizori==i)

  cout<<i<<' ';

}

cout<<'\n';

cout<<"patrate perfecte:";

for(i=p;i<=q;i++){

 patrat_perfect=0;

 for(j=1;j<=i;j++)

  if(j*j==i)

   patrat_perfect=1;

 if(patrat_perfect)

  cout<<i<<' ';

}

return 0;

}