- 一个数如果恰好等于它的所有因子之和,这个数就称为“完数”。请编写一个判别 m 是否为完数的函数,并编写主函数,通过调用此函数统计自然数 1 — 100 间完数的个数。

想知道为什么我写的这段代码会多出一个100来?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
qzjhjxj 2021-06-25 22:01关注供参考:
#include<stdio.h> int perfect() { int i,x,sum,cnt=0; for(i=1;i<=100;i++) { sum=0; for(x=1;x<i;x++) { if(i%x==0)sum+=x; } if(i==sum) { cnt++; printf("%d ",i); } } return cnt; } int main() { printf("\ncount=%d\n",perfect()); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报