我必须填写一个长度为 n 位的列表。我知道 n-1 在 1 到 9 的范围内,一个数字可以在 1 到 99 的范围内。我是这样做的:
generate([First|Next],Czynniki):-
between(1,99,First),
generate2(Next).
generate2(Next):-
sublist([1,2,3,4,5,6,7,8,9],Next).
sublist([],[]).
sublist([H|T],[H|S]):-
sublist(T,S).
sublist([_|T],S):-
sublist(T,S).
这样做我会生成一些相同的解决方案。也许你有一些想法,我怎样才能生成不重复的列表?
编辑
为了清楚起见,我(@repeat)添加了 OP 的以下相关评论:
在入口处,我有
N
未定义变量的长度列表。并想填写我的清单:N-1
区间中的数字1-9
和范围中的一个数字1-99
。示例:N=5, L=[56,2,3,4,8] ...