4

リストを使ってPrologプログラムを書いてみました。ただし、差分リストを使用する必要があり、出力は次のようになります。

リストの i番目の要素はリストの (n-i+1)番目の要素と同じで、n はリストの長さです。たとえば、 と[a,X,c,b,Y]を指定する必要がX = bありY = aます。他の質問で同様の回文の例を見つけることができませんでした。

これまでのところ、私は実装しました:

% length of the list 
len([], 0).
len([H|T], B) :-
   len(T, NT),
   B is NT + 1.

% return the ith element of the list 
match([H|_], 0, H) :-
   !.
match([_|T], N, H) :-
   N > 0,
   N1 is N-1,
   match(T, N1, H).

しかし、私は完了することができませんでした。私を助けてください!

4

1 に答える 1