Візьміть числа 0, 1, 2, 3, 4, ...
і розташуйте їх по спіралі за годинниковою стрілкою, починаючи вниз, записуючи кожну цифру у своєму окремому квадраті.
Потім, задавши один з чотирьох чітких і послідовних символів ASCII (на ваш вибір), що представляють вісь, і вхідне ціле число n
, виведіть перші n
члени послідовності, описані, вибравши квадрати уздовж відповідної осі.
Наприклад, внизу розташована спіраль до прорізу наскрізь 29
. Припустимо, ми використовуємо u / d / l / r
для наших чотирьох символів, що представляють up / down / left / right
. Тоді, даючи u
як вхід, ми виводимо 0, 5, 1, 4 ...
(позитивну вісь y) до першого числа n
. Якби нас замість цього дали l
як вхідні дані, то це було б 0, 3, 1, 1 ...
до цього n
терміну.
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
Це послідовності на OEIS:
- http://oeis.org/A033953 для позитивної осі x
- http://oeis.org/A033988 для додатної осі y
- http://oeis.org/A033989 для негативної осі x
- http://oeis.org/A033990 для від'ємної осі y
Приклади
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]
Правила
- Якщо можливо, ви можете припустити, що введення / вихід відповідатиме вашому рідному типу Integer.
- Якщо ви використовуєте цілі числа для представлення чотирьох осей, ви можете використовувати негативні цілі числа, не порушуючи правила.
- Введення та вихід можуть бути надані будь-яким зручним способом .
- Прийнятна або повна програма, або функція. Якщо функція, ви можете повернути вихід, а не надрукувати його.
- Стандартні лазівки заборонені.
- Це є код-гольф тому застосовуються всі звичайні правила гольфу, і найкоротший код (у байтах) виграє.