题解 | #完数VS盈数#

完数VS盈数

https://www.nowcoder.com/practice/ccc3d1e78014486fb7eed3c50e05c99d

//
// Created by alleyf on 2023/8/17.
//
#include<bits/stdc++.h>

using namespace std;

int judge_EG(int num) {
    int sum = 0;
    for (int i = 1; i <= num / 2; ++i) {
        if (num % i == 0)
            sum += i;
    }
    if (sum == num)
        return 1;
    else if (sum > num)
        return 2;
    return 0;
}

int main() {
    string E = "E:", G = "G:";
    for (int i = 2; i <= 60; ++i) {
        if (judge_EG(i) == 1)
            E += " " + to_string(i);
        else if (judge_EG(i) == 2)
            G += " " + to_string(i);
    }
    cout << E << endl << G;
}

思路:获取一个数的所有因子可以通过循环取余,判断余数是否为零来获得,若为零则为因子,反之不为因子

细节:关键在于格式输出的问题

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务