Ambil angka-angka 0, 1, 2, 3, 4, ...
dan atur dalam spiral searah jarum jam, mulai dari bawah, tulis masing-masing angka di kotaknya sendiri.
Kemudian, mengingat salah satu dari empat karakter ASCII yang berbeda dan konsisten (pilihan Anda) mewakili suatu sumbu, dan bilangan bulat input n
, mengeluarkan n
istilah pertama dari urutan yang dijelaskan dengan memilih kotak di sepanjang sumbu yang sesuai.
Sebagai contoh, di bawah ini adalah spiral tersusun hingga setengah jalan 29
. Misalkan kita menggunakan u / d / l / r
untuk empat karakter kita, mewakili up / down / left / right
. Kemudian, diberikan u
sebagai input, kami output 0, 5, 1, 4 ...
(sumbu y positif) hingga n
istilah th. Jika kita sebaliknya diberi l
sebagai masukan, maka akan 0, 3, 1, 1 ...
sampai ke n
jangka th.
2---3---2---4---2---5---2
| |
2 1---3---1---4---1 6
| | | |
2 2 4---5---6 5 2
| | | | | |
1 1 3 0 7 1 7
| | | | | | |
2 1 2---1 8 6 2
| | | | |
0 1---0---1---9 1 8
| | |
2---9---1---8---1---7 2
Ini adalah urutan pada OEIS:
- http://oeis.org/A033953 untuk sumbu x positif
- http://oeis.org/A033988 untuk sumbu y positif
- http://oeis.org/A033989 untuk sumbu x negatif
- http://oeis.org/A033990 untuk sumbu y negatif
Contohnya
d 19
[0, 1, 1, 8, 3, 7, 6, 2, 1, 5, 1, 1, 6, 2, 2, 1, 3, 4, 0]
r 72
[0, 7, 1, 7, 4, 2, 8, 1, 1, 3, 1, 2, 0, 2, 3, 1, 3, 4, 6, 5, 5, 5, 7, 7, 8, 8, 9, 6, 8, 1, 1, 1, 2, 3, 1, 8, 0, 6, 1, 7, 0, 9, 2, 8, 4, 3, 2, 1, 1, 7, 2, 6, 2, 1, 3, 3, 5, 5, 3, 2, 2, 0, 4, 3, 2, 5, 4, 6, 5, 0, 5, 1]
u 1
[0]
Aturan
- Jika berlaku, Anda dapat mengasumsikan bahwa input / output akan sesuai dengan tipe Integer asli bahasa Anda.
- Jika Anda menggunakan bilangan bulat untuk mewakili keempat sumbu, Anda bisa menggunakan bilangan bulat negatif tanpa melanggar aturan.
- Input dan output dapat diberikan dengan metode apa pun yang mudah .
- Program lengkap atau fungsi dapat diterima. Jika suatu fungsi, Anda dapat mengembalikan output daripada mencetaknya.
- Celah standar dilarang.
- Ini adalah kode-golf sehingga semua aturan golf biasa berlaku, dan kode terpendek (dalam byte) menang.