相关疑难解决方法(0)

在prolog中随机播放

我试图在prolog中写一个程序,如果L1 = [1,2,3]和L2 = [4,5,6]则L3 = [1,4,2,5,3,6]

所以 shuffle([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).
Run Code Online (Sandbox Code Playgroud)

这是我编写prolog代码的第一次尝试,所以我仍然试图围绕语法,规则和一切.

我理解逻辑,我只是​​不确定如何实现它所以任何帮助将不胜感激!

谢谢!

编辑:我已经弄清楚了.如果有人感兴趣,这是解决方案:

shuffle([X],[Y],[X,Y]).  
shuffle([X|Xs],[Y|Ys],[Z1,Z2|Zs]) :- shuffle([X],[Y],[Z1,Z2]),shuffle(Xs,Ys,Zs).
Run Code Online (Sandbox Code Playgroud)

prolog

12
推荐指数
1
解决办法
3353
查看次数

标签 统计

prolog ×1