题解 | #完全数计算#
完全数计算
https://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84
#include <stdio.h>
int IsPerfectNumber(int n)//自定义判断完数的函数
{
int sum=0;
for(int i=1;i<n;i++)//尝试1~n-1的所有整数
{
if(n%i==0)//i为形参n的约数的情况
sum+=i;
}
if(sum==n) return 1;//逻辑真,即n为完数
else return 0;//逻辑假,即n不为完数
}
int main() {
int num,count=0;
scanf("%d",&num);
for(int j=1;j<=num;j++)
{
if(IsPerfectNumber(j))//判断num以内的正数是否为完数,若为真,则完数个数+1
count++;
}
printf("%d",count);
return 0;
}
查看1道真题和解析