18
ジャンプアップシーケンス
次のシーケンスを検討してください。 0 1 3 2 5 4 8 6 7 12 9 10 11 17 13 14 15 16 23 ... かなりパターンレスに見えますよね?仕組みは次のとおりです。で始まり、整数0でジャンプしn、でn始まり1ます。これがシーケンスの次の番号です。次に、「スキップされた」番号を追加します。この番号はまだ昇順で表示されていません。次に、n最後に追加された番号からインクリメントしてジャンプします。このパターンを繰り返します。 したがって、たとえば、到達する11とになりますn=5。増加nしn=6、にジャンプしてから17、13 14 15 16まだ追加されていないので追加します。次のジャンプはn=7なので、シーケンスの次の要素は23です。 チャレンジ inputが与えられると、このシーケンスのth番目の項、シーケンスの最初の項をx出力するか、シーケンスの項の無限リストを作成します。0インデックスまたは1インデックスを選択できます。xx I / Oとルール 入力と出力は、任意の便利な方法で指定できます。 入力と出力は、言語のネイティブの数値型に適合すると仮定できます。 完全なプログラムまたは機能のいずれかが受け入れられます。関数の場合、出力する代わりに出力を返すことができます。 標準的な抜け穴は禁止されています。 これはコードゴルフなので、通常のゴルフルールがすべて適用され、最短のコード(バイト単位)が勝ちます。