仕事:
10進法で整数を指定した場合、次のように1桁の10進数に減らします。
- 数値を10進数のリストに変換します。
- 最大桁Dを見つける
- リストからDを削除します。Dが複数ある場合は、左から1番目(最も重要な位置)を選択します。他のすべてはそのまま残ります。
- 結果のリストを10進数に変換し、Dを掛けます。
- 数値が9より大きい(10進数が1桁以上)場合は、手順全体を繰り返して、結果をそれに入力します。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です。
入力:整数/整数を表す文字列
出力: 1桁、数値に適用された削減の結果。
テストケース:
9 -> 9
27 -> 4
757 -> 5
1234 -> 8
26364 -> 8
432969 -> 0
1234584 -> 8
91273716 -> 6
これはcode-golfであるため、各言語のバイト単位の最短回答が優先されます。
10 -> 10
でしょうか?