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