一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如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