文章

8

粉丝

0

获赞

28

访问

1.5k

头像
完数 题解:
P1046 兰州大学机试题
发布于2026年3月23日 21:34
阅读数 47

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
#include<set>
#include<numeric>

set<int> factors(int num) {
    set<int> s;
    s.insert(1);
    for (int i = 2; i <= sqrt(num); i++) {
        if (num % i == 0) {
            s.insert(i);
            s.insert(num / i);
        }
    }
    return s;
}
int main() {
    int num;
    cin >> num;
    for (int k = 2; k <= num; k++) {
        set<int> s = factors(k);
        int total = accumulate(s.begin(), s.end(), 0);
        if (total == k) {
     &...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发