#include <stdio.h>
#include <math.h>
int main() {
int num;
while (~scanf("%d", &num))
if(IsPerfect(num)) printf("Yes\n");
else printf("No\n");
return 0;
}
int IsPerfect(int num)
{
int i,sum=0;
for (i=1;i<num;i++)
{
if (num%i==0)
{
sum+=i;
}
}
if (num==sum)
{
return 1;
}
else
{
return 0;
}
}
结果正确 但是显示超时
有没有人帮忙解决一下