私はプロローグの新しいプログラマと私は言いプログラムを実行しようとしました:最初の要素:述語X
がリストであるとX
にどこ5つの連続する要素がある場合true
を返すpenta(X)
を作ります1番目と2番目の間の合計です。また、3番目の要素は、5番目と4番目の違いです。たとえば、X = [ ... 5, 7, 12, 18, 30, ... ]
です。のPrologプログラムが
だから私はこれをしなかった:
penta(X) :-
\+length(X,0), //here i verify if the lists contains less than 5 elements so it gives false.
\+length(X,1),
\+length(X,2),
\+length(X,3),
\+length(X,4),
(A, B, C, D, E | X),
C is A + B,
C is D - E,
penta(X).
それはまだ動作しませんので、これは実際にはコンパイルされません。あなたが望むなら、何が間違っているか教えてください。
ありがとうございます。
「コンパイルしていない」というエラーメッセージが表示されることがあります。それを読んでみてください。 –
@ScottHunterそれは言う:uncoughtエラー(プロシージャ、( '|')/ 2)、ペンタ/ 1 – MArivs
@ScottHunterああ申し訳ありません!今コンパイルされますが、私は前にこの文章を書いています – MArivs