3
我對Prolog還是一個新手,我遇到了一個錯誤,我不知道如何解決。 我寫了一個簡單的程序冪看起來像這樣:Prolog遞歸程序不返回值
exp(b, 0, R) :- R is 1. % non-recursive case: exponent is 0
exp(0, e, R) :- R is 0. % non-recursive case: base is 0
exp(Base, Exponent, Result) :- % recurse if base and exponent are non-negative
Base >= 0,
Exponent >= 0,
E1 is Exponent-1,
exp(Base, E1, R1),
Result is Base*R1.
編譯沒有問題,但是當我運行它,並給它一個查詢一樣,比方說,exp(2, 4, X)
。我遇到了以下輸出:
?- exp(2, 4, X).
false.
有沒有什麼我做錯了?還是以某種我不知道的方式來格式化結果?
問題解決了。感謝您的解釋,它確實有幫助! –