我正在尝试通过每个递归调用将变量M
递增1
。
我一直在尝试解决这个问题,但是我的论点没有得到充分的实例化。'查询时。我有一个基本情况,我反复增加使用两个变量,以存储旧值并统一新值。
point(a,b). point(a,c). point(b,d). point(c,d). point(d,e). point(f,g). linkup(Point,Point,0). linkup(Point1,Point2,Count) :- Counthelp is Count+1, point(Point1,Link), linkup(Link,Point2,Counthelp).
答案 0 :(得分:0)
我认为这就是你所需要的:
linkup(Point1,Point2,0) :- point(Point1,Point2).
linkup(Point1,Point2,Counthelp) :-
point(Point1,Link),
linkup(Link,Point2,Count),
Counthelp is Count+1.
你必须确保你认为“Prologishly”。 Counthelp
变量是输出,因此您必须将其传递出去而不将其传入。还需要最后计算,以便Count
已经统一。