现在的位置: 首页 > 综合 > 正文

两人分苹果的不同分配方法, Prolog实现

2013年08月04日 ⁄ 综合 ⁄ 共 275字 ⁄ 字号 评论关闭

小红与小丽两人有N个苹果, 编写一个Prolog程序, 列出所有可能的分配方式.

 

思路,

1). 我们可以先可以生成一个从0至N的一个列表

2). 递归遍历上面的列表, 用N去减列表元素

3). 完结

 

以下程序在SWI-Prolog通过

%分苹果

genlist(X, Y, [X|L]):-
    X < Y,
    X1 is X + 1,
    genlist(X1, Y, L).

genlist(X, X, [X]).

calc(X, [Y|L]):-X >= Y, Z is X - Y, write([X, Y, Z]), calc(X, L).

solver(X):-genlist(0, X, L), calc(X, L).

抱歉!评论已关闭.