1.问题描述
求某一范围内完数的个数。如果一个数等于它的因子之和,则称该数为“完数”(或“完全数”)。例如,6的因子为1, 2, 3,而6=1+2+3,因此6是“完数”。
2.完整程序
#include <stdio.h>
int main(void)
{
int i,j,sum;
for(i=1;i<=100;i++)
{
sum=0;
for(j=1;j<i;j++)
{
if(i%j==0)
{
sum=sum+j;
}
}
if(sum==i)
{
printf("%d\n",i);
}
}
return 0;
}
注意:
(1)C语言中的整数问题,经常涉及判断两数是否相等或某变量(或表达式)是否=”满足某一条件的情况,对于这类问题,初学者经常会存在对赋值符号“=”与等于号“混淆的问题。
(2)内层循环开始之前需将sun置零。
3.运行结果
此处求出0到100的完数。