一问题描述

一个数的所有因子相加和等于本身那么这个数就是完数,给出一个范围求其中的完数。

二设计思路

利用循环嵌套第一层将每个数分出来,第二层确定是不是因子若是将每次的相加在循环外比较相同就是完数。

三程序流程图

 

四伪代码实现

#include<iostream>
using namespace std;
int main(){
int x,y=0;
cin>>x;
for(int i=2;i<=x;i++){//确保数在范围内
int z=0;//确保每次循环z都是0.
for(int j=1;j<i;j++){
if(i%j==0){//因子确定方法
z=z+j;
}}
if(z==i){
cout<<i<<endl;
}

}
}

五代码实现