题解 | #完数与盈数#

完数与盈数

http://www.nowcoder.com/practice/df0d850e41894d06a165bf445ec8a8b4

#include<iostream>
#include<set>
using namespace std;
int main()
{
    std::ios::sync_with_stdio(false);
    cin.tie(0);
    set<int> Set, a, b;
    int total,num,i;
    for (num = 2; num <= 60; ++num) {
        total = 0;
        for (i = 1; i * i <= num; ++i) {
            if (num % i == 0) {
                Set.insert(i);
                if(num / i != num)
                    Set.insert(num / i);
            }
        }
        for (auto it : Set)
            total = total + it;
        if (total == num)
            a.insert(num);
        else if (total > num)
            b.insert(num);
        Set.clear();
    }
    if (a.size()) {
        cout << "E:";
        for (auto it : a)
            cout << " " << it;
    }
    if (b.size()) {
        cout << " G:";
        for (auto it : b)
            cout << " " << it;
    }
}
全部评论

相关推荐

点赞 评论 收藏
分享
感性的干饭人在线蹲牛友:🐮 应该是在嘉定这边叭,禾赛大楼挺好看的
点赞 评论 收藏
分享
孤寡孤寡的牛牛很热情:为什么我2本9硕投了很多,都是简历或者挂,难道那个恶心人的测评真的得认真做吗
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务