/*
* Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作 者: 申玉迪
* 完成日期:2013 年11月3日
* 版 本 号:v1.0
* 问题描述:输出完全数。
* 样例输入:6 8 28
* 样例输出:是 不是 是
* 问题分析:输入一个数i,输出i是不是完全数。
*/
#include <iostream>
using namespace std;
int main()
{
int i,n=2,a,b,sum=0;
cin>>i;
while(n<=i)
{
a=i%n;
if(a==0)
{
b=i/n;
sum=sum+b;
n+=1;
}
else
{
n+=1;
}
}
if(sum==i)
{
cout<<i<<"是完全数"<<endl;
}
else
{
cout<<i<<"不是完全数"<<endl;
}
return 0;
}
第一次听说完全数,一开始一点头绪也没有,还是要考虑循环。真是没发现循环有什么好方法,我是一点一点想,一点一点修改的,慢慢出来的