リストを使って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).
しかし、私は完了することができませんでした。私を助けてください!