正の入力番号を指定してn
、左上を時計回りに内側にらせん状にして、1
〜の数のらせんを作成します。対角線の合計を取り(奇数の場合、真ん中の数は2回カウントされます)、その数を出力します。n^2
1
n
n^2
の例n = 1
:
1
(1) + (1) = 2
の例n = 2
:
1 2
4 3
(1+3) + (4+2) = 4 + 6 = 10
の例n = 4
:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
(1+13+15+7) + (10+16+14+4) = 36 + 44 = 80
の例n = 5
:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
(1+17+25+21+9) + (13+23+25+19+5) = 73 + 85 = 158
さらなるルールと説明
- これはOEIS A059924であり、そのページにはいくつかの閉じた形式のソリューションがあります。
- 入力と出力は、言語のネイティブ整数型に適合すると想定できます。
- 入力と出力は、任意の便利な形式で指定できます。
- 私の例ではここにあるように、提出には0インデックスまたは1インデックスのどちらかを選択できます。あなたがしていることを述べてください。
- 完全なプログラムまたは関数のいずれかを使用できます。関数の場合、出力ではなく出力を返すことができます。
- 可能であれば、他の人があなたのコードを試すことができるように、オンラインテスト環境へのリンクを含めてください。
- 標準の抜け穴は禁止されています。
- これはコードゴルフなので、すべての通常のゴルフ規則が適用され、最短のコード(バイト単位)が優先されます。
+3-3*(-1)^n
6
整数の除算では違いは失われますが、は実際にはとは異なります。