PS 부수기
Project Euler #23 : 두 초과수의 합으로 나타낼 수 없는 모든 양의 정수의 합은? 본문
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
|
int main() {
VI c;
for (int i = 1; i <= 28123; i++) {
int sum = 0;
for (int j = 1; j < i; j++) {
if (i % j == 0) sum += j;
}
if (sum > i) c.pb(i);
}
vector<bool> vis(28124);
rep(i, 0, c.size()) {
rep(j, 0, c.size()) {
if (c[i] + c[j] <= 28123) {
vis[c[i] + c[j]] = 1;
}
}
}
int sum = 0;
for (int i = 28123; i >= 1; i--) {
if (vis[i] == 0) {
sum += i;
}
}
cout << sum;
}
|
cs |
20초 쯤 걸렸다. 어떡하지?!
'Project Euler' 카테고리의 다른 글
Project Euler #25 : 피보나치 수열에서 처음으로 1000자리가 되는 항은 몇 번째? (0) | 2020.08.07 |
---|---|
Project Euler #24 : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9로 만들 수 있는 1,000,000번째 사전식 순열은? (0) | 2020.08.07 |
Project Euler #22 : 영문 이름 점수 합계 구하기 (0) | 2020.08.07 |
Project Euler #21 : 10000 이하 모든 친화수(우애수)의 합은? (0) | 2020.08.07 |
Project Euler #20 : 100! 의 자릿수를 모두 더하면? (0) | 2020.08.07 |
Comments