问题及代码:
/ *
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved .
*文件名称:test .cpp
*作 者:曹莉萍
*完成日期:2014 年11月4日
*版 本 号:v1.0
*
*问题描述:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3,再如8的因子和是7(即1+2+4),8不是完数。编程找出1000以内的所有完数
*输入描述:无
*程序输出:1000以内的完数
* /
#include <iostream>
using namespace std;
int main( )
{
int i,m,n;
cout<<"2-1000之间的完数有:";
for(i=2; i<=1000; i++)
{
m=1;
for(n=2; n<=i/2; n++)
if(i%n==0)
m+=n;
if(i==m)
cout<<i<<" ";
}
cout<<endl;
return 0;
}
运行结果