PS 부수기
Project Euler #21 : 10000 이하 모든 친화수(우애수)의 합은? 본문
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같은 완전수를 더하지 않도록 주의해야한다.
'Project Euler' 카테고리의 다른 글
Project Euler #23 : 두 초과수의 합으로 나타낼 수 없는 모든 양의 정수의 합은? (0) | 2020.08.07 |
---|---|
Project Euler #22 : 영문 이름 점수 합계 구하기 (0) | 2020.08.07 |
Project Euler #20 : 100! 의 자릿수를 모두 더하면? (0) | 2020.08.07 |
Project Euler #19 : 20세기에서, 매월 1일이 일요일인 경우는 몇 번? (0) | 2020.08.07 |
Project Euler #18 : 삼각형을 따라 내려가면서 합이 최대가 되는 경로 찾기 (0) | 2020.08.07 |
Comments