我想列出x,y范围内的所有数字。例如
elements_between(1,3,Res).
将给出Res=1,Res=2,Res=3
。我想使用回溯,并且我认为范围是正确的,所以x <= y。
我尝试过:
elements_between(X,X,X).
elements_between(X,Y,Res):- add_ints(X,1,NewX),elements_between(NewX,Y,Res).
add_ints(X,Y,Res):- Res is X+Y.
但是它仅列出范围中的最后一个元素,然后进入无限循环,似乎崩溃了GNU。