👤

C++ Sprawdź, czy podana przez użytkownika całkowita liczba n jest liczbą doskonała

Odpowiedź :

Odpowiedź:

#include <iostream>

using namespace std;

void czy_doskonala(unsigned a)

{

   if(a<1)return;//uwzgledniamy tylko liczby naturalne

   int suma=0;

   int iloczyn = 1;

   for(int i=1; i<=a/2; i++)

       if(a%i==0) {

           suma+=i;

           iloczyn *= i;

       }//wyznaczamy dzielniki "a", a nastepnie je sumujemy i mnozymy

   cout << endl << "Liczba " << a << ((suma==a) ? "" : " nie") << " jest liczba doskonala pierwszego stopnia" << endl;//wypisujemy czy liczba jest doskonala pierwszego stopnia

cout << "Liczba " << a << ((iloczyn==a)? "" : " nie")<< " jest liczba doskonala drugiego stopnia" << endl;// i drugiego stopnia

}

int main()

{

   int x;

   do

   {

       cin >> x;

       czy_doskonala(x);

   }while(x!=0);//pętla bedzie się wykonywać dopóki nie wpiszemy zera

   system("pause");

   return 0;

}

Zobacz obrazek KAROLMARIONETKA7