2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Пролог:Является ли число корнем уравнения
Сообщение27.04.2008, 20:36 
Ребят помогите пожалуйста.Вот написала вроде , а что то все равно не работаета в чем дело не знаю
Должно вот так работать
Вход root(1,[1,-2,1]).
Выход Yes

Список коэффициентов вводится со свободного члена)

в solve :1 параметр -- список коэффициентов
2 параметр -- возведенное в сетень это число
3 параметр -- число которое возводим в степень
4 параметр -- результат

Код:
root(N,[]).
root(N,[N]).
root(N,P):- solve(P,1,N,R),0=:=R.

solve([],1,N,0).
solve([H|T], X, N, R) :- X1 is X * N,solve(T, X1, N, R), R is R + X * N.

 
 
 
 
Сообщение29.04.2008, 23:24 
В последней строке Вы, видимо, хотели сказать вот что (есть три отличия от Вашего варианта):
Код:
solve([H|T], X, N, R) :- X1 is X * N, solve(T, X1, N, R1), R is R1 + X * H.

Далее, замените root(N, [N]) на что-нибудь поскромнее.

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

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group