Последовательность Фибоначчи довольно известна здесь. Черт, у него даже есть свой тег. Однако, несмотря на это, мы уверены, что хотим придерживаться наших корней 1, 1, ...
(или это 0, 1, ...
? Мы можем никогда не узнать ...). В этом испытании правила одинаковы, но вместо того, чтобы получить n
элемент th в последовательности Фибоначчи, вы получите n
элемент th в последовательности Фибоначчи, начиная с x, y, ...
.
вход
Три целых числа в любом порядке. n
индекс (0 или 1 проиндексированный) члена в последовательности для вашего вывода. x
и y
первые два элемента в последовательности Фибоначчи вашего текущего прогона программы.
Выход
n
- Й член последовательности Фибоначчи , начиная с x
, y
.
Тестовые случаи
(0-индексированные)
n x y out
5 0 0 0
6 0 1 8
6 1 1 13
2 5 5 10
10 2 2 178
3 3 10 23
13 2308 4261 1325165
0 0 1 0
1 0 1 1
(1-индексированных)
n x y out
6 0 0 0
7 0 1 8
7 1 1 13
3 5 5 10
11 2 2 178
4 3 10 23
14 2308 4261 1325165
1 0 1 0
2 0 1 1
Предостережения
Предположим 0 <= x <= y
.
Обратите внимание на ваш порядок ввода (должен быть постоянным).
[1, 2, 3]
? Да. Все, что вам нужно принять 3 целых числа.n,[x,y]
которомn
это число иx
иy
это номер в списке? Это, вероятно, слишком гибко;)Ответы:
Желе , 3 байта
Занимает х , у и n (с 0 индексами) в качестве отдельных аргументов командной строки в указанном порядке.
Попробуйте онлайн!
Как это работает
источник
CJam ,
149 байтовПопробуйте онлайн!
Формат ввода - «xy n». Я все еще новичок в этом, поэтому я на 100% уверен, что есть лучшие способы сделать это, но, пожалуйста, вместо того, чтобы говорить мне «делай это», старайся только давать мне подсказки, чтобы я мог найти ответ сам и получить лучше. Благодарность!
источник
ririri
можно сократить до 2 байтов.fI
можно сократить до 1 байта.Python 2 , 37 байт
Попробуйте онлайн!
0-index, может потребоваться настроить предел рекурсии для
n≥999
источник
JavaScript (ES6),
2726 байтНичего особенного, только стандартная функция Фибоначчи JS с удаленными начальными значениями 0 и 1.
Попытайся
источник
Python 2, 40 байт
0-indexed
Попробуйте онлайн
источник
Haskell , 30 байт
Попробуйте онлайн! 0 индексированные. Используйте как
(x#y)n
, например,(0#1)5
для пятого элемента оригинальной последовательности.Наиболее вероятный кратчайший способ получить последовательность Фибоначчи в Хаскеле -
f=0:scanl(+)1f
определить бесконечный список,f=[0,1,1,2,3,5,8,...]
содержащий последовательность. Замена0
и1
с аргументамиx
иy
дает пользовательскую последовательность.(f!!)
затем функция, возвращающая n-й элементf
.источник
Mathematica, 36 байт
вход
источник
##2
вместо#2,#3
.PowerShell , 40 байт
Попробуйте онлайн!
источник
Brain-Flak , 38 байт
Попробуйте онлайн!
источник
Рубин, 27 байт
источник
Желе , 6 байт
Попробуйте онлайн!
объяснение
источник
TAESGL , 4 байта
1-индексированных
переводчик
объяснение
Вклад принимается как
n,[x,y]
источник
Пролог (SWI) , 77 байт
Попробуйте онлайн!
Начал играть в гольф ответ Лики Нун и пришел к чему-то совершенно другому.
У этого есть правило
(Nᵗʰ, (N+1)ᵗʰ)
с точки зрения((N-1)ᵗʰ, Nᵗʰ)
и использует управление базой данных Утверждать 0ᵗʰ и во время выполнения 1ˢᵗ элементов.f(N,X,Y)
значитNᵗʰ
элемент естьX
и(N+1)ᵗʰ
элемент естьY
.источник
Октава , 24 байта
Формат ввода:
n,[x,y]
.Попробуйте онлайн!
источник
Брайнгольф , 15 байт
_;
больше не требуется в последней версии Braingolf, однако это примерно 5 минут назад, поэтому не будет конкурировать.источник
Python 2 , 112 байт
1-индексироваться.
Попробуйте онлайн!
источник
MATL , 7 байт
Выход основан на 0.
Попробуйте это в MATL Online!
объяснение
Обозначим входные данные
n
(индекс)a
,b
(начальные условия).источник
R, 39 байт
Простая рекурсивная функция. Как ни странно, это короче, чем все, что я могу придумать для обычной последовательности Фибоначчи (без встроенных модулей), потому что это не должно присваивать
1
обеимx
иy
= PВычисляет
n+1
номера последовательности, включая начальные значения. Каждая рекурсия рассчитывается сn-1
и останавливается, когдаn==0
. Затем возвращается самое низкое из двух чисел, возвращаяn
-ое значение.источник
постоянный ток , 36 байт
Попробуйте онлайн!
0
-indexed. Ввод должен быть в форматеn x y
.источник
PHP> = 7.1, 55 байт
Онлайн версия
PHP> = 7.1, 73 байта
Онлайн версия
источник
$y=+$x+$x=$y
. Кроме того, вы можете использовать только$n--
вместо$i++<$n
.Common Lisp, 49 байт, 0 проиндексирован
Я нуб Лисп, так что любые советы будут оценены;)
Объяснение:
источник
Пролог (SWI) , 85 байт
Попробуйте онлайн!
0 индексированные.
источник
ш ** nfuck,
3929 байтСпасибо @JoKing за -10!
TIO не будет работать особенно хорошо для этого (или для любого BF решения проблемы, связанной с числами). Я настоятельно рекомендую @ EsotericIDE Тимви (или реализуем BF самостоятельно).
Берет
x
, тогдаy
потом тоn
. 0 индексированные. Предполагается неограниченная или упаковочная лента.объяснение
источник
-1
-индексирование".>
в конец или поменяй порядок х и уC (gcc) , 29 байт
Попробуйте онлайн!
Эта реализация основана на 0.
источник
05AB1E , 9 байтов
Попробуйте онлайн!
объяснение
источник
Lua , 44 байта
0-индексированные
Попробуйте онлайн!
источник
Кляйн , 18 + 3 байта
Это использует
000
топологиюПередайте ввод в форме
x y n
.источник
Аксиома,
8857 байтэто пройдет предложенный тест (0 проиндексировано)
источник
Сетчатка , 37 байт
Попробуйте онлайн!
На основе 0, занимает
x y n
разделенные пробелом. Рассчитывает в одинарных.источник
TI-Basic, 32 байта
источник