パスカルの三角形は1
、各行を開始し、連続する加算から形成することで生成されます。ここでは、代わりに、乗算と加算を交互に行うことにより三角形を形成します。
我々は、行を開始する1
だけで孤独で1
。その後、奇数行で加算が行われ、偶数行(1-indexed)で乗算が行われます。追加ステップを実行するとき、三角形の外側のスペースが0
sで埋められていると仮定します。乗算ステップを実行するとき、外側が1
s で満たされていると仮定します。
7行までの完全な三角形です。*
または+
その行を生成するために行ったものステップ左側番組に。
1 1
2 * 1 1
3 + 1 2 1
4 * 1 2 2 1
5 + 1 3 4 3 1
6 * 1 3 12 12 3 1
7 + 1 4 15 24 15 4 1
チャレンジ
inputが与えられると、この三角形のth番目の行をn
出力しn
ます。
ルール
- 代わりに0インデックスを選択することもできますが、上記とまったく同じ三角形が生成されるように、加算行と乗算行がフリップフロップする必要があることに注意してください。これを行うことを選択した場合は、提出物に明記してください。
- 入力と出力は、言語のネイティブ整数型に適合すると仮定できます。
- 入力と出力は、任意の便利な形式で指定できます。
- 完全なプログラムまたは機能のいずれかが受け入れられます。関数の場合、出力する代わりに出力を返すことができます。
- 可能であれば、他の人があなたのコードを試すことができるように、オンラインテスト環境へのリンクを含めてください!
- 標準的な抜け穴は禁止されています。
- これはコードゴルフなので、通常のゴルフルールがすべて適用され、最短のコード(バイト単位)が勝ちます。
例
多くの出力のうちの2つの可能な例を示す:リスト、またはスペースで区切られた文字列。
4
[1, 2, 2, 1]
8
"1 4 60 360 360 60 4 1"
n
th行だけです。