내가 어렸을 때 저축에서 달러 지폐를 세고 싶을 때 나는 크게 소리를 세었습니다.
일이 삼 사 오 육 칠 팔 구 십;
11, 12, 13, 14, 15, 16, 17, 18, 19, 20;
스물 하나, 스물 둘, 스물셋, 스물 넷, 스물 다섯 ...
결국 나는이 여러 음절을 발음하는 데 지쳤습니다. 수학적으로 생각하기 때문에 훨씬 효율적인 계산 방법을 만들었습니다.
일이 삼 사 오 육 칠 팔 구 십;
하나, 둘, 셋, 넷, 다섯, 여섯, 일곱, 여덟, 아홉, 이십;
하나, 둘, 셋, 넷, 다섯, 여섯, 일곱, 여덟, 아홉, 삼십 ...
보시다시피, 이전 숫자에서 변경된 숫자 만 발음합니다. 이것은 숫자에 대한 영어 이름보다 상당히 반복적이므로 계산하는 데 적은 두뇌 능력이 필요하다는 이점이 있습니다.
도전
양의 정수를 가져 와서 계산 방법을 출력 / 반환하는 프로그램 / 함수를 작성하십시오 (즉, 가장 오른쪽이 아닌 숫자와 모든 후행 0).
예
1 1
2 2
10 10
11 1
29 9
30 30
99 9
100 100
119 9
120 20
200 200
409 9
1020 20
테스트 사례의 전체 목록은 필요하지 않습니다. 이다 A274206 OEIS합니다.
규칙
- 정밀도와 메모리 문제를 무시하고 모든 양의 정수에 이론적으로 입력해야합니다.
- 입력과 출력은 10 진수 여야합니다.
- 입력 및 / 또는 출력을 숫자, 문자열 또는 숫자 배열로 선택할 수 있습니다.
- 입력은 양의 정수 여야합니다. 입력이 유효하지 않은 입력에 대해 무엇이든 할 수 있습니다.
이것은 code-golf 이므로 바이트 단위의 가장 짧은 코드가 이깁니다.
[1,0,2,0]-> 와 같은 10 진수 목록이 포함[2,0]됩니까? ( "단일 항목 배열"이라는 문구는 확실하지 않습니다).