Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.133.121.241] |
|
Сообщ.
#1
,
|
|
|
объясните плиз каждую строчку этой программы!!!
Создайте предикат, вычисляющий последовательность n чисел Фибоначчи. Первые два числа Фибоначчи равны 1, любое следующее число строится, как сумма двух предыдущих. fib(1,1):-!. fib(2,1):-!. fib(N,F):-N1 is N-1, fib(N1,F1), N2 is N-2, fib(N2,F2),F is (F1+F2). app([], List, List) :- !. app([H|T], List, [H|NewList]) :- app(T, List, NewList). fib2(1,[1]):-!. fib2(2,[1,1]):-!. fib2(N,T):-N1 is N-1, fib(N,N2), fib2(N1,T1),app(T1,[N2],T). |