C++第二次实验-循环程序设计-项目7(输出完数)

来源:互联网 发布:2007年网络歌曲 编辑:程序博客网 时间:2024/05/22 06:40

一、问题及代码:

/*  
* 文件名称:完数C++程序  
* 作    者:温天柱  
* 完成日期:2017 年 3 月 13 日  
* 版 本 号:Visual c++ 6.0  
* 对任务及求解方法的描述部分: 利用for循环和if语句找出因数,在把因数相加,判断其和是否与本身相等
* 输入描述:无  
* 问题描述:找到并打印出1000以内的完数(各因数相加为本身的数) 
* 程序输出:6  28  496  
* 问题分析:首先需要找出数的因数,然后再相加,判断
* 算法设计:略  
*/  
#include<iostream>
using namespace std;
int main()
{
int i,j;
int sum;
for(i=4;i<=1000;i++)
{
sum=0;//sum的赋值放在i的循环中,是为了保证在每一次循环后,sum都从0开始加,否则,sum的值就会一直在累加//
for(j=1;j<=i-1;j++)//j<=i-1;如果改为了j<=i后面sum相加的时候就会是两倍,从而出现错误//
{
if(i%j==0)
sum=sum+j;
}
if(sum==i)
cout<<sum<<endl;
}
return 0;
}


二、运行结果:


0 0