一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3,再如8的因子和是7(即1+2+4),8不是完数。编程找出1000以内的所有完数。
<span style="font-size:14px;">/*
*Copyright (c) 2014,烟台大学计算机学院
*All gight reserved.
*文件名称:temp.cpp
*作者:邵帅
*完成时间:2014年11月2日
*版本号:v1.0
*/
#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;
}</span>
运行结果:
心得:求完数,首先从2到1000构造循环控制变量为i的外层循环。每次循环中,利用内嵌的循环逐个地求出i的因子,并累加起来。
@ Mayuko