追加番号ゲーム
2つの整数パラメーター、 整数パラメーターまたは整数変数、開始番号、および最大反復カウントを取る関数/プログラムを作成します。コードは、次のゲーム例を実行して新しい数字を作成し、数字が1桁左になるまで繰り返します。例えば。
3 7 2 = (3 + 7) & (7 + 2) = 10 9
1 0 9 = (1 + 0) & (0 + 9) = 1 9
1 9 = (1 + 9) = 10
1 0 = (1 + 0) = 1
基本的に、個々の数字を取得してその数字を隣に追加し、次の追加の結果も追加します。
最大反復回数は、無限ループを保護するためのものであり、最大値に達すると、コードは最後の5つの数値ステップをダンプする必要があります。同じ出力は、1桁に達して終了するときに発生するはずです。発生したステップが5つ未満の場合は、有効な数値のみを出力します。
出力はStep: Number、終了または終了したステップの最後の5ステップを含む()のように表示されます。
func(3541, 50) この正確な出力形式を生成します:
6: 1411
7: 552
8: 107
9: 17
10: 8
func(3541, 5) 生成するもの:
1: 895
2: 1714
3: 885
4: 1613
5: 774
計算全体:
1: 895
2: 1714
3: 885
4: 1613
5: 774
6: 1411
7: 552
8: 107
9: 17
10: 8
手順が5つ未満の場合は、それらの手順を印刷してください。
組み込みのライブラリのみを使用し、パラメータはどこからでも使用できます(選択した言語にとって最も簡単なもの)。最大整数サイズに制限はありません。オーバーフローがある場合は、クラッシュさせます。
これがパズルの観点からそれほど難しくないことを考えると、受け入れられた回答を検討するために提出を検討するために、日曜日の25日まで、午後8時(UTC + 8)まで与えます。
編集:
ハワード、おめでとう、48 GolfScriptの回答で優勝。
66 APLの回答がある2位のマリヌスへの特別な言及。
私のお気に入り(JavaScriptに偏っている)はcore1024の回答でした。
func(3541, 5)5ステップまたは10ステップを印刷するはずですか?