1

Prolog に問題があります。81 項目のリストがあり、毎回異なる位置にある 9 項目だけを取得する必要があります。たとえば、私のリストが次の場合です。

L=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],
 split(L1,2,L) the result will be L1=[10,11,12,13,14,15,16,17,18].

私の手順は

split([X,X1,X2,X3,X4,X5,X6,X7,X8], 0, [X,X1,X2,X3,X4,X5,X6,X7,X8], []).
split([X,X1,X2,X3,X4,X5,X6,X7,X8|Y], 1, [X,X1,X2,X3,X4,X5,X6,X7,X8], Y).
split([X,X1,X2,X3,X4,X5,X6,X7,X8|Y], N, [X,X1,X2,X3,X4,X5,X6,X7,X8|T], Z) :-
   N > 0,
   N1 is N-1,
   split(Y, N1, T, Z).

しかし、うまくいきません。

4

2 に答える 2