イントロ
スイッチングシーケンスは次のように定義されます。
n
円の中に立っている人から始めます(6
この例の場合)。
1 2
6 3
5 4
personから開始して1
、「選択された」人の左側にある人が削除されます。
1
6 3
5 4
削除された人は、削除方法を「切り替える」ことができます。
- 削除された人が偶数の場合(この場合)、次の削除された人は、次の「選択された」人の右側になります。
- 削除された人が奇数の場合、次の削除された人は、次の「選ばれた」人の左側になります。
次に選択された人は、以前に削除された人にも依存します。
- 削除された人が偶数の場合、次に選択された人は前に選択された人の右側になります。
- 削除された人が奇妙な場合、上記を参照してください。ただし、「右」を「左」に置き換えます。
そのため、次に選択される人は6
です。
今、私たちはの右にある者を削除6
され、5
:
1
6 3
4
ので5
奇数で、削除人は左になりました。新しく選ばれた人は1
です。
削除し3
ます:
1
6
4
1つの番号が残るまでこのプロセスを続けます。この例では、最終的な番号は1
です。だからS(6) = 1
。
最初の数は次のとおりです。
n | S(n)
---------
1 | 1
2 | 1
3 | 3
4 | 1
5 | 5
6 | 1
7 | 3
8 | 6
9 | 5
10 | 6
11 | 9
仕事
あなたの仕事は戻っていることプログラム(または関数)を作成することであるS(n)
(n
スイッチングシーケンスにおける番目数)が与えられたとき、n
バイトの最小量を使用して、。
入力と出力の例:
1 -> 1
10 -> 6
13 -> 13
正の整数を取得することが保証されています。
これはcode-golfなので、バイト単位の最短コードが勝ちです!
注:検索の手間を省くために、OEISシーケンスはありません(何?)。
7
人々に検索を保存するために、oeisにヒットはありません。
—
xnor
明らかに
—
ジョナサンアラン
2
残ることはありませ7
んが、ありますか?
@JonathanAllan最初の1000の用語をチェックしたところ、結果は現在「いいえ」です。しかし、私はよくわかりません-人々が証明しようとすることができる「サイドチャレンジ」なもの、または何かとして置くべきですか?それはブラウニーポイントのためですので、挑戦を損なうことはありません。
—
-clismique
誰かがあなたの指示に従うこと以外の方法で起動したら多分それは...明白であろう
—
ジョナサン・アラン
OEISなしでこれを解決する人々をどのように期待しますか?誰かがOEISをプッシュしてください?
—
エリックアウトゴルファー