初学者prolog编程

时间:2011-02-16 15:43:04

标签: prolog

我正在努力学习prolog。我想在prolog中写一个代码来获得一般数字列表。到目前为止,我有pick_numbers_general(List, N, NumList),其中List是一般列表(包括嵌套列表),N是一个数字。

如果NumListList中的数字列表,包括嵌套列表中的数字大于N,则谓词会成功。的出现顺序 Numlist中的数字与L中的数字相同,例如,当pick_numbers_general([g,h,1,[2,[n,3]],p],1,NumList)NumList时,[2,3]为真。

1 个答案:

答案 0 :(得分:0)

提示:你一次做三个操作。如果你将它们分开,这个练习就会变得容易多了。

pick_numbers_general(List, Min, Numbers) :-
    flatten(List, Flat),
    filter_numbers(Flat, Numbers0),
    filter_greater_than(Numbers0, Min, Numbers).