Ответ в теме: N начальных чисел ряда Фибоначчи

      Комментарии к записи Ответ в теме: N начальных чисел ряда Фибоначчи отключены
#3318

В соседней теме мы описывали программу, выводящую числа Фибоначчи меньше заданного. Вы можете использовать ее при написании вашей задачи:

next_fib(F1, F2, F3):-
  F3 is F1 + F2.

fib_list(F1, F2, 0, [F1, F2]):-!.
fib_list(F1, F2, Length, [F1|Tail]):-
  NextLength is Length - 1,
  next_fib(F1, F2, F3),
  fib_list(F2, F3, NextLength, Tail).

fib_list

Тут предикат next_fib принимает два числа — предыдущие числа Фибоначчи и выводит следующее. Функция fib_list отсчитывает заданное количество чисел, постепенно уменьшая счетчик. Затем, когда счетчик станет равен нулю — возвращает список из двух последних чисел Фибоначчи.