Просматривая алгоритмы, я нашел число Фибоначчи довольно интересным. Фибоначчи — это последовательность чисел, начинающаяся с нуля, и единица создается путем сложения двух предыдущих чисел. Например, начальная часть последовательности — это 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 144, 233, 377 и т. д. Это упражнение, вероятно, будет частью технического собеседования при приеме на работу. По крайней мере, специалисты по финансам верят, что последовательность может предсказать рынок. Итак, вот, Леонардо Боначчи, он же Фибоначчи, был финансовым предсказателем и, вероятно, был одержим спиралями.

Перед кодированием JavaScript давайте взглянем на правило:

xn = xn−1 + xn−2

  • xn – номер термина "n"
  • xn−1 — предыдущий термин (n−1)
  • xn−2 — это термин перед этим (n−2)

Пример: термин 9 рассчитывается следующим образом:

x9= x9−1 + x9−2

= x8 + x7

= 21 + 13

= 34

Давайте посмотрим, как сделать то же самое вычисление в функции JavaScript.

Во-первых, давайте вызовем функцию с числом, которое мы собираемся использовать в качестве термина в качестве аргумента.

function fibonacci(num)

Затем давайте начнем с тернарного условного оператора, который возвращает 0, если число меньше 1, а также возвращает 1, если число равно или меньше 2. Причина запуска функции Фибоначчи с этим условным оператором состоит в том, чтобы убедиться, что наша последовательность начинается с 0 и 1. Конечным elseif этого оператора будет num — 1 + num — 2.

num < 1 ? 0 : num <= 2 ? 1 : fibonacci(num — 1) + fibonacci(num — 2)

А вот как будет выглядеть вся функция.

function fibonacci(num) {
  return num < 1 ? 0
            : num <= 2 ? 1
            : fibonacci(num - 1) + fibonacci(num - 2)
}
fibonacci(9)
//output: 34

Итак, вот он, алгоритм Фибоначчи прост и поможет нам понять, как вычисления работают в коде. Надеюсь, это поможет нам понять, как математические задачи работают в кодировании, и станет воротами к пониманию более сложных вычислений. Сам сын Боначчи гордился бы нами.

Удачного кодирования!

Краткое содержание:

  1. Обзор Фибоначчи
  2. JavaScript-код Фибоначчи

Использованная литература:

  1. Math is Fun, Последовательность Фибоначчи
  2. Веб-документы MDN, Условный (тернарный) оператор