PS 부수기
Project Euler #13 : 50자리 수 100개를 더한 값의 첫 10자리 구하기 본문
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
int main() {
vector<string> s(100);
rep(i, 0, 100) {
cin >> s[i];
}
int prevSum = 0;
VI ans;
for (int i = 49; i >= 0; i--) {
int sum = 0;
for (int j = 0; j < 100; j++) {
sum += s[j][i] - '0';
}
sum += prevSum % 10;
prevSum /= 10;
ans.push_back(sum % 10);
prevSum += sum / 10;
}
cout << prevSum;
for (int i = ans.size() - 1; i >= 0; i--) cout << ans[i];
}
|
cs |
파이썬 쓰고싶을뻔!
그냥 덧셈하듯이 해서 전체 출력한 후 앞에 10자리 복사했다.
'Project Euler' 카테고리의 다른 글
Project Euler #15 : 20×20 격자의 좌상단에서 우하단으로 가는 경로의 수 (0) | 2020.08.07 |
---|---|
Project Euler #14 : 백만 이하로 시작하는 우박수 중 가장 긴 과정을 거치는 것은? (0) | 2020.08.07 |
Project Euler #12 : 500개 이상의 약수를 갖는 가장 작은 삼각수는? (0) | 2020.08.07 |
Project Euler #11 : 20×20 격자에서 연속된 네 수의 곱 중 최댓값 (0) | 2020.08.07 |
Project Euler #10 : 이백만 이하 소수의 합 (0) | 2020.08.07 |