Witam, mam taki problem, otóż mam za zadanie napisać program, który sprawdza czy dana liczba jest liczbą doskonałą. Posługując się algorytmem danym w zadaniu napisałem coś takiego :
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
int main()
{
int n, p, p1, suma=0;
cout << "Podaj liczbe ktora chcesz sprawdzic :";
cin >> n;
p = sqrt((double)n);
while (p > 1)
{
if (n%p == 0)
{
suma = suma + p;
p1 = n / p;
if (p1 != p)
{
suma = suma + p1;
}
}
else
{
p = p - 1;
}
}
if(p<=1)
{
suma = suma + 1;
if (suma==n)
{
cout << "Jest to liczba doskonala";
}
else
{
cout << "To nie jest liczba doskonala";
}
}
_getch();
}
Po wpisaniu liczby n program po prostu przechodzi do następnej linijki i nic się nie dzieje. Nie do końca wiem o co chodzi. Z góry dzięki za pomoc.
Pozdawiam