0

プロローグを 1 週間学習したばかりで、リスト L の偶数の位置に要素が出現する回数をカウントするプロローグ プログラムを作成する必要があります。

午前 12 時から現在まで (過去 16 時間の午前 4 時) の問題を解決しようとしましたが、失敗しました。

1.今まで試したことはこんな感じ

count(_,[],0).
count(E,[E|L],C):-!,count(E,L,C1),C is C1+1.
count(E,[A|L],C):-atom(A),count(E,L,C),!.
count(E,[A|L],C):-count(E,A,C1),count(E,L,C2),C is C1+C2.

要素内のリスト全体の出現を数えることができるのはリストです。

2.2番目はtakeoutリストの2番目の出現要素

私が今まで試したことは似ていますが失敗します

takeout(A,[A|B],B). 
takeout(A,[B|C],[B|D]) :- takeout(A,C,D). 
takeoutSecond(A,[B|C],[B|D]):- takeoutSecond(A,C,D). 
takeoutSecond(A,[A|B],[A|C]):- takeout(A,B,C). 

3.takeoutsecondlast をリバースなしで使用する場合のヒントを教えてください。感謝します!

ヒントを教えてください。全力で取り組みます。

夜更かししているので、今は返信しません。申し訳ありません。私の質問を読んでくれてありがとう。

4

1 に答える 1