2016-03-31 8 views
0

誰かが自分のコードで何が間違っているか教えていただけますか?プロローグ内の対数ベースb

logbN(1,_,0). 
logbN(N,B,Ans):- 
    N1 = N/B, 
    logbN(N1, B, A), 
    A is Ans + 1. 

。これはlog_b Nを計算し、私はちょうどこれを行う方法を知っている必要があります誰のためにそれを考え出した

答えて

1

ローカルスタックエラーの出る続けるアンスに結果を格納することになっています。

logbN(1,_,0). 
logbN(N,B,Ans):- 
    N > 1, 
    N1 is N/B, 
    logbN(N1, B, A), 
    Ans is A + 1. 

私は `(正しい)2` /であるとあなたはまた、` =/2`(間違った)に置き換えLIKE 'A' と 'アンス' を混合

+0

が見えていました。 – lurker

+0

@lurker私は確かにしました。それを指摘していただきありがとうございます。 –

関連する問題