题解 | 完数

完数

https://www.nowcoder.com/practice/3d8cabccd6224b638573293a811c6346

#include <iostream>
using namespace std;

bool func(int n) {
    int res = 0;
    for (int i = 1; i <= n / 2; i++) {
        if (n % i == 0) {
            res += i;
        }
    }
    return res == n ? true : false;
}

int main() {
    int n;
    while (cin >> n) {
        int index;
        for (int i = n; i > 0; i--) {
            if (func(i)) {
                index = i;
                break;
            }
        }
        for (int i = 1; i <= n; i++) {
            if (func(i)) {
                cout << i;
                if (i != index) {
                    cout << " ";
                }
            }
        }
        cout << endl;
    }
}

全部评论

相关推荐

03-20 18:39
已编辑
电子科技大学 C++
点赞 评论 收藏
分享
03-19 17:49
运营
牛客327038019号:你把那贼低的gpa写上去干嘛
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务