[C++]17427번 약수의 합2

칼든개구리·2025년 4월 29일
0

코드

#include <iostream>
#include <vector>

using namespace std;

int main() {
    int N;
    cin >> N;
    
    vector<long long> f(N + 1, 0);
    vector<long long> g(N + 1, 0);

    // 각 수의 약수 합 구하기
    for (int i = 1; i <= N; ++i) {
        for (int j = i; j <= N; j += i) {
            f[j] += i;
        }
    }

    // g(N) 구하기
    for (int i = 1; i <= N; ++i) {
        g[i] = g[i - 1] + f[i];
    }

    cout << g[N] << endl;
    
    return 0;
}
profile
메타쏭이

0개의 댓글