题目大意:
给一个数n,把他所有的因子相加,如果等于n,就是PERFECT,如果小于n,就是DEFICIENT,如果大于n,就是ABUNDANT
解题思路:
无
代码如下:
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
int fac(int n)
{
int sum=0,i;
for(i=1;i<n;i++)
{
if(n%i==0)
{
sum=sum+i;
}
}
return sum;
}
int main()
{
int num[120];
int i=1,count;
int sum;
while(scanf("%d",&num[i])&&(num[i]!=0))
{
i++;
}
count=i-1;
printf("PERFECTION OUTPUT\n");
for(i=1;i<=count;i++)
{
printf("%5d ",num[i]);
sum=fac(num[i]);
if(sum==num[i])
{
printf("PERFECT\n");
}
else if(sum>num[i])
{
printf("ABUNDANT\n");
}
else
{
printf("DEFICIENT\n");
}
}
printf("END OF OUTPUT\n");
return 0;
}