1
序言口口声声说'no'我.... :(prolog:检查pythagorean三联体的规则?
我很新Prolog的,我有一个基本的问题:
所以我想制作一个简单的规则来检查,如果三个数字构成一个直角三角形的边长,像这样:
addup(X,Y,Z) :- X is Y+Z. /* this works*/
pythag(H,A,B) :- (H*H) is (A*A) + (B*B). /*this doesn't work*/
为了测试,“addup”规则确实出现了工作.... 我相信这是一个问题与在我的程序中'IS'的左侧,如下所示G试验似乎表明这一点:
在交互模式下,我可以为2是否是1和1的总和,它说是:
| ?- 2 is 1+1.
yes
但是如果我切换左侧和右侧;它说不可以:
| ?- 1+1 is 2.
no
有人可以提供正确版本的pythag规则吗? 版本信息如下:
GNU Prolog 1.3.0
By Daniel Diaz
Copyright (C) 1999-2007 Daniel Diaz
| ?-
电脑说是!谢谢 ! [https://www.youtube.com/watch?v=nm6bKkG_Mrc] – monojohnny 2013-05-14 16:12:39