[Project Euler #17][C++] 1부터 1000까지 영어로 썼을 때 사용된 글자의 개수는?
Problem Solving/Project Euler 2021. 1. 4. 02:04728x90
728x170
문제17 : 1부터 1000까지 영어로 썼을 때 사용된 글자의 개수는?
문제
1부터 5까지의 수를 영어로 쓰면 one, two, three, four, five 이고,
각 단어의 길이를 더하면 3 + 3 + 5 + 4 + 4 = 19 이므로 사용된 글자는 모두 19개입니다.
1부터 1,000까지 영어로 썼을 때는 모두 몇 개의 글자를 사용해야 할까요?
참고: 빈 칸이나 하이픈('-
')은 셈에서 제외하며, 단어 사이의 and 는 셈에 넣습니다.
예를 들어 342를 영어로 쓰면 three hundred and forty-two 가 되어서 23 글자, 115 = one hundred and fifteen 의 경우에는 20 글자가 됩니다.
문제 해결 방법
- 100 이상의 수의 경우, 100으로 나누어 떨어지는 수(
100
,200
, ...,1000
)를 제외한 수는 백의 자리와 십의 자리 수 사이에and
를 붙여서 계산해야 한다.- 101 : one hundred and one
- 112 : one hundred and twelve
- 121 : one hundred and twenty one
- 배열 과
for
문을 이용하여 문제를 풀었다.
소스 코드
정답
21124 |
728x90
그리드형(광고전용)
'Problem Solving > Project Euler' 카테고리의 다른 글
[Project Euler #16][C++] $2^{1000}$ 의 각 자릿수를 모두 더하면? (0) | 2020.12.31 |
---|---|
[Project Euler #15][C++] 20×20 격자의 좌상단에서 우하단으로 가는 경로의 수 (0) | 2020.12.28 |
[Project Euler #14][C++] 백만 이하로 시작하는 우박수 중 가장 긴 과정을 거치는 것은? (0) | 2020.12.28 |
[Project Euler #13][C++] 50자리 수 100개를 더한 값의 첫 10자리 구하기 (0) | 2020.12.27 |
[Project Euler #12][C++] 500개 이상의 약수를 갖는 가장 작은 삼각수는? (0) | 2020.12.26 |
[Project Euler #11][C++] 20×20 격자에서 연속된 네 수의 곱 중 최댓값 (0) | 2020.12.26 |
[Project Euler #10][C++]이백만 이하 소수의 합 (0) | 2020.12.24 |
[Project Euler #9][C++] a + b + c = 1000 이 되는 피타고라스 수 (0) | 2020.12.23 |