#include <iostream>
using namespace std;
int main(){
int x,i,s=0;
cin >>x
for (i=1;i<=x/2;++i)
if (x%i==0)
s=s+i;
if (s==x)
cout <<"Numarul "<<x<<"este perfect";
else
cout <<"Numarul "<<x<<"nu este perfect";
return 0;
}
Asta e rezolvarea pentru orice numar de divizori. Daca iti e ceva neclar te rog sa-mi spui