Фон
Почти все знакомы с числами Фибоначчи F(n)
:
0, 1, 1, 2, 3, 5, 8, 13, 21 ...
Они образованы функцией рекурсии F(n) = F(n-1) + F(n-2)
с F(0)=0
и F(1)=1
. A000045
Тесно связанной последовательностью являются числа Лукаса L(m)
:
2, 1, 3, 4, 7, 11, 18, 29 ...
Они образованы функцией рекурсии L(m) = L(m-1) + L(m-2)
с L(0)=2
и L(1)=1
. A000032
Мы можем чередовать две последовательности, основываясь на четных / нечетных индексах, с конструкцией,
A(x) = F(x)
если x mod 2 = 0
и A(x) = L(x)
иначе. Например, A(4)
равно F(4)
с 4 mod 2 = 0
. Мы будем называть эту последовательность в Lucas-nacci Числа , A(x)
:
0, 1, 1, 4, 3, 11, 8, 29, 21, 76 ...
Это может быть сформировано с помощью функции рекурсии A(x) = 3*A(x-2) - A(x-4)
с A(0)=0
, A(1)=1
, A(2)=1
и A(3)=4
. A005013
Вызов
При заданном вводе n
выведите последовательность n+1
чисел до и включительно, A(n)
как описано выше. Побеждают самые короткие байты (или байтовые эквиваленты, такие как для LabVIEW , которые определяются индивидуально на Meta).
вход
Одно неотрицательное целое число n
.
Выход
Список чисел, которые соответствуют подпоследовательности чисел Lucas-nacci от A(0)
до A(n)
. Список должен быть в последовательном порядке, как описано выше.
правила
- Применяются стандартные правила игры в гольф и ограничения на лазейки .
- Применяются стандартные правила ввода / вывода .
- Входной номер может быть в любом подходящем формате: унарный или десятичный, считанный из STDIN, аргумент функции или командной строки и т. Д. - на ваш выбор.
- Вывод может быть распечатан в STDOUT или возвращен в результате вызова функции. Если напечатано, должны быть включены подходящие разделители для различения чисел (через пробел, через запятую и т. Д.).
- Кроме того, если вывод в STDOUT, окружающий пробел, завершающий перевод строки и т. Д. Являются необязательными.
- Если входные данные не целые или отрицательные, программа может делать что угодно или ничего, так как поведение не определено.
Примеры
Input -> Output
0 -> 0
5 -> 0, 1, 1, 4, 3, 11
18 -> 0, 1, 1, 4, 3, 11, 8, 29, 21, 76, 55, 199, 144, 521, 377, 1364, 987, 3571, 2584