Diberi nomor input positif n
, buat spiral angka dari 1
hingga n^2
, dengan 1
di kiri atas, berputar ke dalam searah jarum jam. Ambil jumlah diagonal (jika n
ganjil, angka tengah n^2
dihitung dua kali) dan hasilkan angka itu.
Contoh untuk n = 1
:
1
(1) + (1) = 2
Contoh untuk n = 2
:
1 2
4 3
(1+3) + (4+2) = 4 + 6 = 10
Contoh untuk 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
Contoh dari 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
Aturan dan klarifikasi lebih lanjut
- Ini adalah OEIS A059924 dan ada beberapa solusi bentuk tertutup pada halaman itu.
- Input dan output dapat dianggap sesuai dengan tipe integer asli bahasa Anda.
- Input dan output dapat diberikan dalam format apa pun yang nyaman .
- Anda dapat memilih untuk 0-indeks atau 1-indeks, karena saya di sini dalam contoh saya, untuk pengiriman Anda. Silakan sebutkan yang Anda lakukan.
- Program lengkap atau fungsi dapat diterima. Jika suatu fungsi, Anda dapat mengembalikan output daripada mencetaknya.
- Jika memungkinkan, harap sertakan tautan ke lingkungan pengujian online sehingga orang lain dapat mencoba kode Anda!
- Celah standar dilarang.
- Ini adalah kode-golf sehingga semua aturan golf biasa berlaku, dan kode terpendek (dalam byte) menang.
+3-3*(-1)^n
tidak benar-benar sama dengan6
, meskipun perbedaannya hilang dalam pembagian integer.