求解一道C语言(C++)题!

来源:百度知道 编辑:UC知道 时间:2024/07/10 23:11:55
一个数恰好等于它的因子之和,这个数就称为"完数"。例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。编程序找出1000以内的所有"完数"。

有很多答案的,
你可以参考一下。

以下是以前的回答。

http://zhidao.baidu.com/question/93117215.html

http://zhidao.baidu.com/question/92539831.html

mark先,后给答案。

//=========================================================
//文件名:EX0204.cpp
//---------------------------------------------------------
//求1000以内有完数,如6 = 1 + 2 + 3,所有因子之和(1不是完数)
//========================================

#include <iostream>
using namespace std;
//----------------------------------------
int main()
{
const int MAX_NUM = 1000;
int factor[3];
for (int i = 2;i < MAX_NUM;i++)
{
int sum = 1;//存储各个因子之和
int index = 0; //因子数组标号
for (int j = 2;j < i;j++)
{
if(i % j == 0)