首页 留言 登录
1150:求正整数2和n之间的完全数

【题目描述】

求正整数2

和n

之间的完全数(一行一个数)。

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

【输入】

输入n(n≤5000)

【输出】

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

【输入样例】

7

【输出样例】

6

#include <bits/stdc++.h> 
using namespace std;

bool wan(int n){
    int sum=0;
    for(int i=n-1;i>0;i--){
        if(n%i==0){
            sum += i;
        }
    }

    if(n==sum){return true;}else{
        return false; 
    } 
}


int main(){
//    cout << wan(7) << endl;

    int n;
    cin >> n;
    for(int i=2;i<=n;i++){
        if( wan(i) ){
            cout << i << endl;
        }
    }
    return 0;
}
上一篇:一维前缀和
下一篇:2040:【例5.7】筛选法找质数
验证码
评论留言 (0条)