xy2022

导航

 

【题目描述】

求正整数22和nn之间的完全数(一行一个数)。

完全数:因子之和等于它本身的自然数,如6=1+2+36=1+2+3

【输入】

输入n(n5000)n(n≤5000)。

【输出】

一行一个数,按由小到大的顺序。

【输入样例】

7

【输出样例】

6

程序代码:

#include<iostream>
using namespace std;
int wq(int);//声明函数,判断完全数。
int main(){
  int n;
  cin>>n;
  for(int i=2;i<=n;++i)
    if(wq(i)) cout<<i<<endl;
  return 0;
}
int wq(int a){
  int sum=1;
  for(int j=2;j<a;j++)
    if(a%j==0) sum+=j;
  if(sum==a) return 1;
    else return 0;
}


 




posted on 2022-05-09 22:08  XY2022  阅读(518)  评论(0)    收藏  举报