가장 좋은 대답
10 진수 표기법에서 양의 정수 n을 n = a\_k10 ^ k + a\_로 나타낼 수 있습니다. {k-1} 10 ^ {k-1} + \ ldots + a\_0, 여기서 a\_i \ in \ {0, 1, 2, \ ldots, 9 \} 및 a\_k \ neq 0. 그런 다음 n \ geq 10 ^ k. 숫자의 합은 a\_k + a\_ {k-1} + \ ldots + a\_0 \ leq 9 (k + 1)입니다. 이 부등식은 a\_i \ leq 9에서 이어집니다. 이제 k \ geq 2이면 18 (k + 1) 0 ^ k임을 쉽게 알 수 있습니다. 이제 n = 10a\_1 + a\_0 요소가 남았습니다. 이들은 컴퓨터로 쉽게 확인할 수 있습니다. 다음은 Python으로 수행 한 방법입니다.
[n for n in range(1, 100) if n == 2*sum(map(int, str(n)))]
>>> [18]
따라서 숫자 합계의 두 배인 유일한 양의 정수는 18입니다. 음이 아닌 정수를 허용하면 0도됩니다. 음의 정수에 대해이 질문을 어떻게 해석해야하는지 잘 모르겠습니다.
답변
숫자 N은 처음 100 개의 양의 정수의 곱입니다. N의 모든 숫자가 기록 되었다면 끝에있는 모든 0 옆에 어떤 숫자가 나올까요?
기본적으로 100을 찾고 있습니다! 마지막에 모든 0을 버리고 맨 오른쪽에있는 0이 아닌 첫 번째 숫자가 무엇인지 알고 싶습니다.
한 가지 방법은 실제로 100을 계산하는 것입니다! bc (Linux 또는 Unix의 벤치 계산기)와 같은 프로그램을 사용한 다음 모든 0을 버려 필요한 숫자에 도달합니다.
나누기 및 정복 원칙을 사용하여 문제를 해결하는 다른 방법을 살펴 보겠습니다.
p>
1 i로 끝나는 모든 숫자를 버립니다. 이자형. 1, 11, 21, 31, 41, 51, 61, 71, 81, 91 왜냐하면 곱하면 이전 배수의 마지막 숫자 (해당 지점까지 도달 한 제품)는 변경되지 않고 관심도 없습니다. 100 계산! 어쨌든 0이 아닙니다.
2로 시작하는 첫 번째 9 개의 숫자를 살펴 보겠습니다.
2, 3, 4, 5, 6, 7, 8, 9, 10
왼쪽에서 오른쪽으로 2 * 3은 6, 6 * 4는 24, 4를 유지하고 5를 곱하면 20이됩니다 (0을 버리고 싶기 때문에). 이제 2를 유지하고 곱합니다. 6을 곱하면 12를, 다시 2를 유지하고 7을 곱하여 4 (14 개 중)를 제공하고 8을 곱하여 2 (32 개 중 3 개 버림)를 제공하고 9를 곱하여 8 ( 18 개 중 1 개를 버리고 10을 곱하면 8 이됩니다 (0 또는 80 삭제). 따라서 8 이라는 한 자리 숫자를 얻게됩니다.
12, 13, 14, 15, 16, 17에서도 비슷하게 작업합니다. 18, 19, 20은 8 을 다시 제공합니다.
다음 시리즈 22, 23…, 28, 29, 30은 2.
다음 시리즈는 4
나머지 시리즈에서도 마찬가지로 계속하면 4 , 6 , 8 , 8 , 6 , 4 및 2 .
이제 최종 작업은 각 시리즈에 대해 우리가 도달 한 위의 숫자를 곱하는 것입니다.
8, 8, 2, 4, 6, 8, 8, 6, 4, 2 그리고이 숫자를 곱하면 10 번째 숫자를 버리고 마지막 숫자로 4 에 도달합니다.
이것은 th입니다. 질문의 최종 답변 인 4 는 필수 숫자입니다.