Вступ (може бути проігноровано)
Розміщення всіх позитивних чисел у звичайному порядку (1, 2, 3, ...) трохи нудне, чи не так? Отже, ось низка викликів навколо перестановок (перестановок) усіх позитивних чисел. Це п’яте завдання в цій серії (посилання на перший , другий , третій та четвертий виклики).
У цьому виклику ми зустрінемо масив Wythoff, який є переплетеною лавиною послідовностей Фібоначчі та послідовностей Бітті!
Ці числа Фібоначчі , ймовірно , для більшості з вас добре відомої послідовності. З урахуванням двох вихідних чисел і , наступні задаються: для .
Послідовність Бітті , задана параметром становить: для . Однією з властивостей послідовності Бітті є те, що для кожного параметра існує точно один параметр , такий, що послідовності Бітті для цих параметрів від'єднуються і з'єднуються разом, вони охоплюють усі натуральні числа, виключаючи 0 (наприклад: ).
Тепер тут випливає мисляча частина: ви можете створити масив, де кожен рядок є послідовністю Фібоначчі, а кожен стовпець - послідовністю Бітті. Цей масив є масивом Wythoff . Найкраще: кожне додатне число з’являється рівно один раз у цьому масиві! Масив виглядає приблизно так:
1 2 3 5 8 13 21 34 55 89 144 ...
4 7 11 18 29 47 76 123 199 322 521 ...
6 10 16 26 42 68 110 178 288 466 754 ...
9 15 24 39 63 102 165 267 432 699 1131 ...
12 20 32 52 84 136 220 356 576 932 1508 ...
14 23 37 60 97 157 254 411 665 1076 1741 ...
17 28 45 73 118 191 309 500 809 1309 2118 ...
19 31 50 81 131 212 343 555 898 1453 2351 ...
22 36 58 94 152 246 398 644 1042 1686 2728 ...
25 41 66 107 173 280 453 733 1186 1919 3105 ...
27 44 71 115 186 301 487 788 1275 2063 3338 ...
...
Елемент у рядку та стовпці визначається як:
де - золоте співвідношення: .
Якщо ми будемо слідувати антидіагоналі цього масиву, ми отримаємо A035513 , яка є цільовою послідовністю для цього виклику (зауважте, що цю послідовність додав до OEIS самим Нілом Слоаном !). Оскільки це завдання "чистої послідовності", завдання полягає у виведенні для заданого якості вхідного сигналу, де - A035513 .
Існують різні стратегії, які ви можете дотримуватися, щоб дістатися до , що робить цей виклик (на мій погляд) справді цікавим.
Завдання
З урахуванням цілого вводу , виведіть у форматі, де - A035513 .
Примітка: тут передбачається індексація на основі 1; ви можете використовувати індексацію на основі 0, тож і т. д. Будь ласка, зазначте це у своїй відповіді, якщо ви вирішили скористатися цим.
Тестові справи
Input | Output
---------------
1 | 1
5 | 7
20 | 20
50 | 136
78 | 30
123 | 3194
1234 | 8212236486
3000 | 814
9999 | 108240
29890 | 637
Можливо, буде цікаво дізнатись, що найбільший для -
Правила
- Вхід і вихід - цілі числа
- Ваша програма повинна хоча б підтримувати введення в межах від 1 до 32767). Зверніть увагу , що ( п ) доходить до 30 значних чисел в цьому діапазоні ...
- Неправильний вхід (0, плавці, рядки, негативні значення тощо) може призвести до непередбачуваного виводу, помилок або (не) визначеної поведінки.
- Застосовуються правила вводу / виводу за замовчуванням .
- Бійниці за замовчуванням заборонені.
- Це код-гольф , тому найкоротші відповіді в байтах виграють
999
не так9999