Как получить всех номеров из последовательности Фибоначчи

Нужно создать функцию с параметрами int startIndex, int endIndex. Он должен вернуть все числа из последовательности Фибоначчи. На пример, последовательност Фибоначчи: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711

Если я задам функцию параметры 5, 10 он должен вернуть List: 3, 5, 8, 13, 21, 34

Покопался в формулах но не нашел решение.


Ответы (1 шт):

Автор решения: CrazyElf

Непонятно, в чём проблема. В общих чертах:

  • создаёте пустой список
  • вычисляете по очереди числа Фибоначчи, одновременно считаете какое это число по счёту
  • если номер числа Фибоначчи лежит в заданных вам границах - добавляете его в список
  • если достигнут endIndex - возвращаете накопленный список

На продвинутом уровне можно написать более красиво:

  • сделать генератор чисел Фибоначчи с yield return очередного числа
  • взять из этого генератора нужный кусок выдачи через Linq и превратить его в список
→ Ссылка