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

1.se citesc un număr natural n. Să se afișeze divizorii săi.



SUNT PROBLEME DIFERITE. .....



2. Să se verifice dacă un număr este: a.pătrat perfect
b.perfect
c.polindrom​

Răspunsuri la întrebare

Răspuns de boiustef
1

Răspuns:

**** problema Afisare divizori ***** nu in crestere, dar cu o metoda rapida

#include <iostream>

using namespace std;

int main()

{

   int n,d;

   cout << "numar= "; cin >>n;

   cout << "Divizorii lui : ";

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

           if (n%d==0) { cout << d << " " << n/d << " "; }

   if (d*d==n) cout << d;

   return 0;

}

********** patrat perfect ***********

#include <iostream>

#include <cmath>

using namespace std;

int main()

{

   int n;

   cout << "n= "; cin >> n;

   if ((int)sqrt(n)==sqrt(n))

       cout << "este patrat perfect";

   else cout << "nu este patrat perfect";

   return 0;

}

********* perfect **************

********* Un număr este perfect dacă este egal cu suma divizorilor săi, fără ********numărul însuși ********************

#include <iostream>

using namespace std;

int main()

{

   int n, nueste=0,s=1,d;

   cout << "numar= "; cin >>n;

   if (n<6) nueste=1;

   else

   {

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

           if (n%d==0) { s=s+d; s=s+n/d; }

       if (d*d==n) s+=d;

   }

   if (nueste || s!=n)

       cout << "nu este perfect";

   else cout << " este perfect";

   return 0;

}

*************  

Explicație:

#include <iostream>

using namespace std;

int main()

{

   int n, p=0, copie;

   cout << "numar= "; cin >> n;

   copie=n;

   while(n)

   {

       p=p*10+n%10;

       n/=10;

   }

   if (p==copie)

       cout << "palindrom";

   else cout << "nu-i palindrom";

   return 0;

}


matematicianul93: nu aminteles nimic ,eu sunt in clasa 9
matematicianul93: ??
Alte întrebări interesante