728x90
반응형
[20번 문제]
n! 이라는 표기법은 n × (n − 1) × ... × 3 × 2 × 1을 뜻합니다.
예를 들자면 10! = 10 × 9 × ... × 3 × 2 × 1 = 3628800 이 되는데,
여기서 10!의 각 자리수를 더해 보면 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27 입니다.
100! 의 자리수를 모두 더하면 얼마입니까?
[코드]
오류를 아직 잡지못했다... 당장은 뭐가오류인지 못찾아서 보류
자릿수가 들어갈 배열이 모자라서 결과가 제대로 나오지 않았다..
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 32 33 34 35 36 | #include "stdafx.h" #include <stdlib.h> #include <iostream> using namespace::std; #define 계산수 100 int list[계산수*2] = { 0 }; int ans = 0; int main() { int temp = 0, max = 0; list[0] = 1; for (int i = 1; i <= 계산수; i++) { for (temp = 0; temp <= max; temp++) list[temp] *= i; for (temp = 0; temp <= max; temp++) { if (list[temp] >= 10) { if (temp >= max) max++; list[temp + 1] += list[temp] / 10; list[temp] = list[temp] % 10; } } } for (int i = max; i >= 0; i--) ans += list[i]; cout << endl << ans << endl; system("pause"); return 0; } | cs |
728x90
반응형
'Solution > Project Euler' 카테고리의 다른 글
[22/C++] 영문 이름 점수 합계 구하기 (0) | 2018.05.26 |
---|---|
[21/C++] 10000 이하 모든 친화수(우애수)의 합은? (0) | 2018.05.26 |
[19/C++] 20세기에서, 매월 1일이 일요일인 경우는 몇 번? (0) | 2018.05.26 |
[18/C++] 삼각형을 따라 내려가면서 합이 최대가 되는 경로 찾기 (0) | 2018.05.26 |
[17/C++] 1부터 1000까지 영어로 썼을 때 사용된 글자의 개수는? (0) | 2018.05.25 |