15.题目: 一个数如果恰好等于它的因子之和,这个数被成为”完数”
例如:6=1+2+3.请编程找出1000以内的完数
分析:遍历这个数,找出因子,根据完数定义写出判断条件,最后输出结果
下面是代码实现:
/********************************************************
题目:一个数如果恰好等于它的因子之和,这个数被成为”完数”
例如:6=1+2+3.请编程找出1000以内的完数
********************************************************/
#include<stdio.h>
void PerfectNum(void)
{
int i = 0;
int j = 0;
int sum = 0;
for(i = 2;i < 1000;i++)
{
sum = 0;
for(j = 1;j < i;j ++)
{
if(i % j == 0)
{
sum += j;
}
}
if(sum == i)
{
printf("%3d\n",i);
}
}
}
int main()
{
PerfectNum();
return 0;
}
题目:一个数如果恰好等于它的因子之和,这个数被成为”完数”
例如:6=1+2+3.请编程找出1000以内的完数
********************************************************/
#include<stdio.h>
void PerfectNum(void)
{
int i = 0;
int j = 0;
int sum = 0;
for(i = 2;i < 1000;i++)
{
sum = 0;
for(j = 1;j < i;j ++)
{
if(i % j == 0)
{
sum += j;
}
}
if(sum == i)
{
printf("%3d\n",i);
}
}
}
int main()
{
PerfectNum();
return 0;
}