12
数値として分割、文字列として結合、繰り返し
次のプロセスを検討してください。 N.整数非負撮影 などを27。 それを整数に分割N - floor(N/2)しfloor(N/2)(「大きい」と「小さい」半分)、その順序で書き込みます。 例えばに27なり14 13ます。 スペースを削除して、整数をより大きな整数に結合します。 例えばに14 13なり1413ます。 手順2と3を必要な回数繰り返します。 例えば1413→ 707 706→ 707706→ 353853 353853→ 353853353853→... この課題は、まさにこれを行うことですが、必ずしも10進ではありません。 チャレンジ B、N、Sの3つの数字を取り込むプログラムを作成します。 Bは2〜10の整数で、Nの基数(2進数から10進数)です。 Nは、分割-再結合プロセスを適用する非負の整数です。ユーザー入力を容易にするために、整数ではなくベースBの文字列として指定されます。 Sは、分割と再結合のプロセスを繰り返す回数である負でない整数です。 プログラムの出力は、S分割-結合プロシージャの後のベースBのNの文字列表現です。 Sがの0場合、分割は行われないため、出力は常にNです。 Nがの場合0、すべての分割はフォーム0 0を持ち、0再び縮小されるため、出力は常に0です。 例 B = 10, N = 27, S = 1 → 1413 B = 10, N = 27, S = 2 …