用VC编程,求1000以内的完数

来源:百度知道 编辑:UC知道 时间:2024/06/25 19:42:02
用VC编:如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为“完数”。例如6的因子是1、2、3,且6=1+2+3,因此6是完数。使用for循环编程写程序找出1000之内的所有完数及这些完数的和。输出形式为:完数1+玩数2+··=和值

您好!下面的程序调试通过结果正确。
#include <stdlib.h>
#include <stdio.h>
#include <malloc.h>
void main()
{
int i,j,wanshu,sum = 0;
for(i=1;i<=1000;i++)
{
wanshu = 0;
for(j = 1;j<i;j++)
{
if(i%j==0)
wanshu+=j;
}
if(wanshu == i)
{
sum += wanshu;
if(wanshu == 6)
printf("%d",wanshu);//打印第一个完数
else
printf("+%d",wanshu);//打印后续完数
}
}
printf("=%d\n",sum);//打印=和
system("pause");

}