Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

PS 부수기

Project Euler #21 : 10000 이하 모든 친화수(우애수)의 합은? 본문

Project Euler

Project Euler #21 : 10000 이하 모든 친화수(우애수)의 합은?

jyheo98 2020. 8. 7. 13:12
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main() {
    VI yh(10001);
    for (int i = 1; i <= 10000; i++) {
        int sum = 0;
        for (int j = 1; j < i; j++) {
            if (i % j == 0) sum += j;
        }
        yh[i] = sum;
    }
    int SUM = 0;
    for (int i = 1; i <= 10000; i++) {
        if (yh[i] <= 10000 && yh[yh[i]] == i && i != yh[i]) {
            SUM += i + yh[i];
        }
    }
    cout << SUM / 2;
}
cs

6같은 완전수를 더하지 않도록 주의해야한다.

Comments