题解 | #完全数计算#
完全数计算
https://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84
解题思路
主要使用循环嵌套
i 来产生1-接收到数字的每个数
j 来产生1-当前i的数
然后判断i%j是否等于0,如果等于0说明 j 是 i 的公因数,此时sum来计算这些公因数的和
在遍历完1-当前 i 以后对比,公因数求和sum是否和当前 i 相同,如果相同就是完全数,此时计数num加一
#include <stdio.h> int main() { int a=0,b=0,i=0,num=0; int j=0,sum=0; scanf("%d",&a); for(i=1;i<a;i++) { for(j=1;j<i;j++) { if(i%j==0) { sum+=j; } } if(sum==i) { num++; } sum=0; } printf("%d",num); return 0; }