Chciałbym zapytać, czy mogę poprosić kogoś o opisanie poniższego kodu, z grubsza, która część co tutaj robi?
Chciałbym bardziej to zrozumieć z góry dzięki
```#include <iostream>
#include <cmath>
using namespace std;
bool perfect(int n)
{
int s = 1;
int p = sqrt(n);
for(int i=2; i<=p; i++)
{
if(n%i == 0)
{
s+= i + n/i;
}
}
if(n == p*p)
{
s-=p;
}
if(n == s)
{
return 1;
}
return 0;
}
int main()
{
int n;
cout<<"Enter number: ";
cin>>n;
if(perfect(n))
{
cout<<"Number "<<n<<" is perfect";
}
else
{
cout<<"Number "<<n<<" isn't perfect";
}
cin.ignore();
getchar();
return 0;
}