一、问题描述
求某一范围内完数的个数。
如果一个数等于它的因子之和,则称该数为完数。列如,6的因子为1,2,3而1+2+3=6因此6是完数。
二、设计思路
两个循环嵌套,最外层是范围,内层是找数的因子的循环。可以用数求余是否等于0来判断是否为因子,
三、流程图
|
四、伪代码
Int n
for(循环n次)
{
for(循环n-1次)
{
找因子
因子求和
满足条件因子相加等于数
输出结果
}
}
五、代码实现
#include<iostream>
using namespace std;
int main()
{
int n;
cout<<"请输入范围n"<<endl;
cin>>n;
for(int i=2;i<=n;i++)
{
int sum=0;
for(int j=1;j<i;j++)
{
if(i%j==0)
{
sum+=j;
}
}
if(sum==i)
{
cout<<i<<"是完数"<<endl;
}
}
}
标签:cout,int,sum,因子,循环,完数 From: https://www.cnblogs.com/duzhangdan/p/17380752.html