
希望可以写的简单些,刚学Python两个月
C语言完整代码,稍微修改一下语法就可以了:
#include <stdio.h>
/*
7、一个数如果刚好与它的所有的因子之和相等,则称该数为完数,如6=1+2+3,求出1000以内的所有完数 提示:用循环判断1-n之间的数是否为n的因子,是的话累加,要用到双重循环
因子:除了它本身约数
*/
void main(){
int i,j;
int num;//因子之和
for(i=2;i<=1000;i++){
num = 0;
//printf("%d的因子如下:",i);
for(j=2;j<=i;j++){ //j代表i对应的任何一个可能的因子
if(i %j == 0){
num += i/j; //3,2,1
//printf("%d+",i/j);
}
}
//printf("\n");
//判断因子之和是否和该数相等
if(num==i){
printf("%d是完数\n",i);
}
}
}