Попытка реализовать преемники моей функции повтора - Пролог - PullRequest
0 голосов
/ 28 апреля 2018

Мне трудно понять, что нужно изменить в моей программе, поэтому я могу ввести преемников.

Пример ввода:

rotLeft( [a, b, c, d, e, f, g], s(s(0)), [c, d, e, f, g, a, b] )
rotLeft( [1, a, 2, b], 0, [1, a, 2, b] )
rotLeft( [1, 2], s(s(s(s(s(0))))), [2, 1] )

все должно быть правдой.

На данный момент моя программа работает, но только с обычными целочисленными значениями.

rotLeft(L,0,L).
rotLeft([],_,[]).
rotLeft([H|T], 1, X) :-
        append(T, [H], X), !.
rotLeft([H|T],N,X) :-
        append(T, [H], Y),
        N1 is N - 1,
        rotLeft(Y, N1, X).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...