zoj1284

来源:互联网 发布:grub 启动windows 编辑:程序博客网 时间:2024/06/05 15:12

题目大意:

判断一个数是否等于它所有因子的总和,如果小于,则是DEFICIENT,如果等于,则是PERFECT,如果大于,则是ABUNDANT。

解题思路:

没什么好讲的,把这个数的所有因子加起来,判断就可以了。

代码如下:

#include<stdio.h>#include<math.h>#include<string.h>#include<stdlib.h>int main(){   int num[105];   int i=1;   int j;   int count;   int sum;   while(scanf("%d",&num[i])!=EOF&&(num[i]))   {     i++;   }   count=i-1;   printf("PERFECTION OUTPUT\n");   for(i=1;i<=count;i++)   {     sum=0;     for(j=1;j*2<=num[i];j++)     {       if(!(num[i]%j))       {         sum=sum+j;       }     }     if(sum<num[i])     {       printf("%5d  DEFICIENT\n",num[i]);     }     else if(sum==num[i])     {       printf("%5d  PERFECT\n",num[i]);     }     else     {       printf("%5d  ABUNDANT\n",num[i]);     }   }   printf("END OF OUTPUT\n");   return 0;}
0 0
原创粉丝点击