题解 | #完全数计算#
完全数计算
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;
}
查看3道真题和解析