私の問題: リストが与えられた場合
L = [x1,...,xn]
整数convert(L,X)
に変換する Prolog プログラムを書くL
x1*10^0 + x2*10^1 + ... + xn*10^(n-1)
結果を に格納しX
ます。
例えば
?- convert( [1,2,3,4] , Res ).
Res = 4321.
私はこの問題を解決しようとしていましたが、電力の組み込み関数を使用しようとすると構文エラーが発生します。これは私がこれまでに持っているものです:
convert([],Res) .
convert(L1,Res) :- conv( L1 , Res , C ) .
conv( [] , Res , C ) .
conv( [H|Ys] , Res , C ):-
C1 is C-1 ,
N is (H*(10**C)) ,
conv(Ys,Res2,C1) ,
Res is N + Res2 .
次のエラーが表示されます。
******* syntax error
>>> conv ( [ H | Ys ] , Res , C ) :- C1 is C - 1 , N is ( H * ( 10 <--- HERE? >>>
それで、誰かがこのエラーを取り除く方法を教えてもらえますか??
さらに、構文的に間違っている方法はありますか??
これで私を助けてください。ありがとうございました。