everynth(N, X)
リストのすべての要素を出力するN
プロローグ述語を書きますX
。
?- everynth(1, [1, 2, 3, 4, 5, 6]).
1 2 3 4 5 6
true.
?- everynth(2, [1, 2, 3, 4, 5, 6]).
2 4 6
true.
再帰を適切に使用する方法はわかりませんが、これが私が試したことです。
everynth(1, [X|_]) :-
write(X),
write(' ').
everynth(N, [_|H]) :-
M is N - 1,
everynth(M, H).