Главная
»
Информационные системы
»
Представление знаний в ИС
»
Для заданного N найдите наименьшее k, при котором fib(k)>N, где fib(k) – число Фибоначчи с номером k
Для заданного N найдите наименьшее k, при котором fib(k)>N, где fib(k) – число Фибоначчи с номером k
% Bilet19
% Patched 14.01.13
% To start type: jstart.
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.
predikat(N,X):-predikat(N,1,X).
predikat(1,K,0):-write('Net reshenii '),!.
predikat(N,K,X):- fib(K,X1),
K1 is K+1,
fib(K1,X2),
X1<N,X2>=N,
X=K,!.
predikat(N,K,X):-K1 is K+1, predikat(N,K1,X).
jstart:- write(' Vvedite I: '),nl,read(IJAM1),nl,
predikat(IJAM1,K,X),write(' K='),
write(K),nl,write(' X='),
write(X).
Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.