自然数を長方形の渦巻きにまとめることができます:
17--16--15--14--13
| |
18 5---4---3 12
| | | |
19 6 1---2 11
| | |
20 7---8---9--10
|
21--22--23--24--25
しかし、今では長方形のグリッド上にそれらを持っているので、別の順序でスパイラルを巻き戻すことができます。
17 16--15--14--13
| | |
18 5 4---3 12
| | | | |
19 6 1 2 11
| | | |
20 7---8---9 10
| |
21--22--23--24--25
結果のシーケンスは明らかに自然数の順列です:
1, 4, 3, 2, 9, 8, 7, 6, 5, 16, 15, 14, 13, 12, 11, 10, 25, 24, 23, 22, 21, 20, 19, 18, 17, ...
あなたの仕事は、このシーケンスを計算することです。(OEIS A020703ですが、ネタバレ警告:別の興味深い定義と、自分で理解したいかもしれないいくつかの式が含まれています。)
おもしろい事実:巻き戻し可能な8つの注文にはすべて、独自のOEISエントリがあります。
チャレンジ
正の整数を指定すると、上記のシーケンスのth番目の要素をn
返しn
ます。
プログラムまたは関数を作成し、STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を取得し、STDOUT(または最も近い代替)、関数の戻り値または関数(out)パラメーターを介して結果を出力できます。
標準のコードゴルフ規則が適用されます。
テストケース
1 1
2 4
3 3
4 2
5 9
6 8
7 7
8 6
9 5
100 82
111 111
633 669
1000 986
5000 4942
9802 10000
10000 9802
n = 11131
OEISまでの完全なリストについては、OEISのbファイルを参照してください。