完全数
问题描述
如果一个正整数m的所有小于m的不同因子(包括111)加起来正好等于m本身,那么就称它为完全数。例如,6就是一个完全数,是因为6=1+2+3。请编写一个程序,判断从系统给出的整数是否是完全数。
输入
一个int类型的正整数
输出
若是,输出"true",若不是,输出"false"
解答
#include <stdio.h>
int main()
{
int a, i, sum = 0;
scanf("%d", &a);
for(i = 1; i<a; i++)
{
if(a%i == 0)
{
sum += i;
}
}
if(sum == a) printf("true");
else printf("false");
return 0;
}
总结
很简单的一道题