Перемешать в прологе

Я пытаюсь написать процедуру в прологе, где если L1 = [1,2,3] и L2 = [4, 5,6], то L3 = [1,4,2,5,3,6]

, поэтому перемешать ([1,2,3], [4,5,6], [1,4, 2,5,3,6])

У меня пока есть следующее:

shuffle([X],[Y],[X,Y]).
shuffle([X|Xs],[Y|Ys],_) :- shuffle(Xs,Ys,Z), shuffle(X,Y,Z).

Это моя первая попытка написать код пролога, поэтому я все еще пытаюсь осмыслить синтаксис, правила и все остальное.

Я понимаю логику, просто не знаю, как ее реализовать, поэтому любая помощь будет принята с благодарностью!

Спасибо!

Изменить: Я понял это. Вот решение, если кому-то интересно:

shuffle([X],[Y],[X,Y]).  
shuffle([X|Xs],[Y|Ys],[Z1,Z2|Zs]) :- shuffle([X],[Y],[Z1,Z2]),shuffle(Xs,Ys,Zs).
12
задан Sadiq 11 November 2011 в 06:01
поделиться