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;
}
