なぜ6174という数字がとても面白いのですか?以下のように定義ウィキペディアで
- 少なくとも2桁の数字を使用して、4桁の数字を入力します。(先行ゼロは許可されます。)
- 必要に応じて先行ゼロを追加して、2つの4桁の数字を取得するために、数字を昇順および降順で並べます。
- 大きい数字から小さい数字を引きます。
- 手順2に戻ります。
Kaprekarのルーチンとして知られる上記のプロセスは、最大7回の反復で常に6174に達します。6174に達すると、プロセスはそれを譲り続けます。
所定の4桁の数字(上記の定義を参照)に対してKaprekarのルーチンを実行するプログラムを作成し、ルーチンの各ステップを印刷します。
ルール:
- 提出は完全なプログラムでなければなりません。
- 入力は標準入力から読み取る必要があります。エコーからの配管は問題ありません。
- 入力は数値形式でなければなりません。
- 先行ゼロを印刷する必要があります。(以下の例を参照してください。)
- 最後の行には、必要な反復回数が記載されている必要があります。句読点が必要です。
例:
> 2607
7620 - 0267 = 7353
7533 - 3357 = 4176
7641 - 1467 = 6174
Iterations: 3.
> 1211
2111 - 1112 = 0999
9990 - 0999 = 8991
9981 - 1899 = 8082
8820 - 0288 = 8532
8532 - 2358 = 6174
Iterations: 5.
> 6174
7641 - 1467 = 6174
Iterations: 1.
任意のプログラミング言語を歓迎します。難解なもののための追加ポイント+小さな賞金。
アップデート1:すでに同様の質問があります。
更新2:6174の例を入力として追加しました。通知してくれたPeter Taylorに感謝します。