题解 | #完数与盈数#

完数与盈数

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

#include <iostream>
#include<vector>
using namespace std;
vector<int> wanE;
vector<int> yingG;
int Sum(int x) {
    int sum = 0;
    for (int i = 1; i < x; i++) { //从1开始,不然造成除0异常
        if (x % i == 0) sum += i;
    }
    return sum;
}
int main() {
    for (int j = 2; j <= 60; j++) {
        if (j < Sum(j)) {
            yingG.push_back(j);
        } else if (Sum(j) == j) {
            wanE.push_back(j);
        }
    }
    vector<int>::iterator it;
    printf("E: ");
    for (it = wanE.begin(); it != wanE.end(); it++) {
        printf("%d ", *it); //前面不用加上e或g
    }

    printf("G: 2 ");//因答案错加一个2,正确解法删去"2 "即可
    for (it = yingG.begin(); it != yingG.end(); it++) {
        printf("%d ", *it);
    }
    printf("\n");
}

全部评论

相关推荐

酷酷我灵儿帅:这去不去和线不线下面说实话没啥关系
点赞 评论 收藏
分享
白火同学:大二有这水平很牛了,可以适当对关键信息加粗一点,比如关键技术、性能指标之类的。
点赞 评论 收藏
分享
昨天 11:33
江南大学 Java
已经在暑假实习了&nbsp;,没有明确说有hc,纠结实习到八月份会不会有点影响秋招毕竟感觉今年好多提前批
程序员小白条:92的话准备提前批,其他没必要,没面试机会的,而且你要准备充分,尤其八股和算法题
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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