#include <stdio.h>
int main(void){
int i,j,sum=0;
printf("1000以内的完数有:");
for(j=1;j<1000;j++){
for(i=j;i>1;--i){ //因子之和
if(j%(i-1)==0){
sum += (i-1);
}
}
if(j == sum)
printf("%d ",j);
sum = 0;
}
return 0;
}
输出1000以内的所有完数。“完数”:指一个数的因子之和等于自身,例如6=(1+2+3),28=(1+2+4+7+14)。
最新推荐文章于 2024-11-28 00:45:00 发布
本程序采用C语言实现,遍历1到1000之间的所有整数,找出那些等于其所有真因子之和的整数,即完数。通过双重循环判断每个数是否为完数,并打印输出。
4190

被折叠的 条评论
为什么被折叠?



