5.22 3.1

一、问题描述

求某一范围内完数的个数。
如果一个数等于它的因子之和,则称该数为“完数”(或“完全数”。例如,6 的因子为1,2,3,而6=1+2+3,因此6是“完数”。

二、分析

for(i=2;i<=n;i++)

{

....

for(j=l;j<i;j++)

{
...

}

if(s==i)
输出当前i是完数

}

三、代码

#include<iostream>
using namespace std;
int mian()
{
int i,j,s,n;
cout<<"请输入所选范围上限:";
cin>>n;
for(i=2;i<=n;i++)
{
s=0;
for(j=1;j<i;j++)
{
if(i%j==0)
s+=j;
}
if(s==1)
cout<<"It's aperfect number:"<<i<<endl;
}
}

四、结果

 

posted @ 2023-05-22 20:41    阅读(21)  评论(0)    收藏  举报