チャレンジ
STDINから7つの数字を取得し、セルオートマトン(CA)の2次元の履歴をSTDOUTに出力する完全なプログラムを作成します。これはコードゴルフです。
入力フォーマット 入力は、コンマで区切られた7つの整数/文字列です。最初の数字は、Wolframコード(各ルールの標準名)に従ったルールの番号です。2番目は、最初の初期構成です。3番目と4番目は、開始パターンの左側に追加するパターンとその回数を示しています。パディングとして。5番目と6番目は右側についても同じことを行います。最後の数字は、シミュレーションを実行する世代の数です。
したがって、入力の例はです90,11,0,4,0,4,5
。これにより、プログラムにルール90を実行していることがわかります。また、プログラムに、両端に11
文字列を0
4回追加した初期構成にすることを伝える必要があるため、実際の開始パターンは0000110000
です。また、このシミュレーションを5世代実行するようプログラムに指示します。
出力プログラムは、出力がCAの時空間図になるように、各世代のセルの配列全体(改行で区切られている)を印刷する必要があります。世代ごとに、各セルの状態は、その状態と、入力として提供されたルールに従って、すぐ左と右のセルの状態によって決定されます。シミュレーションはエッジの周りをラップする必要があります。最初に印刷されるのは、genとしての開始配列です。0。
入力90,11,0,4,0,4,5
により、次の出力が可能な限り正確になります。
0000110000
0001111000
0011001100
0111111110
1100000011
0110000110
開始状態は5つの世代に含まれていないことに注意してください。また、シミュレーションがエッジの周りをラップしていることに注意してください。
その他の例
入力:
184,1100,01,2,01,1,4
出力:
0101110001
1011101000
0111010100
0110101010
0101010101
入力:
0,1011,1,0,0,1,2
出力:
10110
00000
00000