问题及代码:
/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:李楠
*完成日期:2014年10月30日
*版本号:v1.0
*
*问题描述:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如:6=1+2+3,再如8的因子1+2+4=7,8不是完数。编程找出1000以内的所有完数。
*输入描述:
*程序输出:三个整数,分别代表1000以内的完数
*/
#include <iostream>
using namespace std;
int main()
{
int i,j,sum;
cout<<"1000以内的完数有:"<<endl;
for(i=2;i<=1000;++i)
{
sum=0;
for(j=1;j<=i/2;++j)
if(i%j==0)
sum=sum+j;
if(sum==i)
cout<<sum<<endl;
}
return 0;
}
运行结果:
知识点总结:
之前在int中输入了sum=0,没有error但是运行不出结果来,十分苦恼,最后参考了别人的程序才发现要把sum=0放在下面。涨姿势了!!
学习心得:
我们要学会取长补短,虽然经常说,但这种道理只有亲自感受了才能懂得~