태스크:
10 진수 시스템에 정수가 주어지면 다음과 같이 단일 10 진수로 줄이십시오.
- 숫자를 10 진수 목록으로 변환하십시오.
- 가장 큰 숫자, D 찾기
- 목록에서 D를 제거하십시오. D가 두 번 이상 발생하는 경우 왼쪽에서 가장 중요한 위치에서 첫 번째 항목을 선택하면 다른 모든 항목은 그대로 유지됩니다.
- 결과 목록을 10 진수로 변환하고 D를 곱하십시오.
- 숫자가 9보다 크면 (10 진수가 1보다 큼) 전체 절차를 반복하여 결과를 입력하십시오. 한 자리 결과가 나오면 중지하십시오.
- 결과를 표시하십시오.
예:
26364 ->
1. 2 6 3 6 4
2. The largest digit is 6, so D=6
3. There are two occurrences or 6: at positions 1 and 3 (0-based). We remove the left one,
at position 1 and get the list 2 3 6 4
4. we convert the list 2 3 6 4 to 2364 and multiply it by D:
2364 * 6 = 14184
5. 14184 is greater than 9 so we repeat the procedure, feeding 14184 into it.
우리는 14184에 대한 절차를 계속 반복하여 다음과 같은 중간 결과를 거쳐 마침내 8에 도달합니다.
11312
3336
1998
1782
1376
952
468
368
288
224
88
64
24
8
따라서 26364의 결과는 8입니다.
입력 : 정수 / 정수를 나타내는 문자열
출력 : 숫자에 적용된 축소의 결과 인 한 자릿수.
테스트 사례 :
9 -> 9
27 -> 4
757 -> 5
1234 -> 8
26364 -> 8
432969 -> 0
1234584 -> 8
91273716 -> 6
이것은 code-golf 이므로 각 언어에서 가장 짧은 바이트 단위의 답변이 이깁니다.
10 -> 10
?