プロローグを 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 をリバースなしで使用する場合のヒントを教えてください。感謝します!
ヒントを教えてください。全力で取り組みます。
夜更かししているので、今は返信しません。申し訳ありません。私の質問を読んでくれてありがとう。