2084 本题可删除-完数
Time Limit : 2000/1000 MS(Java/Others) | Memory Limit : 131072/65536 KB(Java/Others)
Submits : 38 | Solved : 19
Description
编程输出n1到n2(n1<=n2)之间所有的完数。所谓完数就是因子之和与它本身相等的数。例如6=1+2+3,6就是一个完数。
要求:定义函数factor(m)判断m是否为完数;由主函数调用它,来对所有n1到n2之间所有的数进行判断。
Input
所有输入在合法范围内。
输入仅一组数据,即n1 n2,中间用空格隔开
Output
输出计算结果,输出每5个完数换一行,未满5个不用换行
Sample Input
1 1000
Sample Output
6 28 496
HINT
#include < stdio.h >
int main(){
int n1,n2;
int i,j,sum,count=1;
scanf("%d%d",&n1,&n2);
for (i=n1;i<=n2;i++){
sum=0;
for(j=1;j<=i/2;j++) if (i%j==0&&sum<=i) sum+=j;
if (sum==i) {
printf("%d ",i);
count++;
if (count%5==0) printf("\n",count);
}
}
return 0;
}
Source
NBU OJ
[ Top ] | [ Submit ]