2011-11-28 35 views
1

连接数据我得到的数据如何实际使用递归搜索祖父也许曾祖父是从序言如何使用循环/递归

father(adam, matt). 
father(matt,frank). 
father(frank,jim). 

grandfather:-father(X,A),father(A,Y). 

?基本上是用循环来表示X到Y.

编辑:和所有可能的匹配,因为有更多的一个父亲和儿子的

谢谢!

回答

2

几乎exact function you need是第一个谷歌的结果为“序言递归”:

仅供参考,您可以使用右侧的规则的左边,你会得到递归。

+0

我忘了提及列出所有可能的回溯。 (X,Y): - 父(X,A),写(X),写('是父'),写(A),nl,连接城市(A,Y),写('是'父亲')。但它只列出1个可能。 –