源代码
#include<stdio.h>
int main() {
int i=0;
int a=0;
for(i=2; i<1000; i++) {
int sum=0;
for(a=1; a<i; a++) {
if(i%a==0) {
sum=sum+a;}
}
if(sum==i)
{
printf("完数为 %d",i);
}
}
//if(i%a==0) {
// printf("%d",a);
//}
return 0;
}
运行结果

本文通过一个C语言程序展示了如何找出1000以内的所有完数。完数是指其所有真因数之和等于该数本身的正整数。程序使用两层for循环结构,外层循环遍历可能的完数,内层循环检查每个数的因数并计算它们的总和。
源代码
#include<stdio.h>
int main() {
int i=0;
int a=0;
for(i=2; i<1000; i++) {
int sum=0;
for(a=1; a<i; a++) {
if(i%a==0) {
sum=sum+a;}
}
if(sum==i)
{
printf("完数为 %d",i);
}
}
//if(i%a==0) {
// printf("%d",a);
//}
return 0;
}
运行结果

2万+

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