简单Prolog阶乘程序加载
我正在使用SWI Prolog学习Prolog。 以下是我在文件fact.pl中的实践代码: 当我试图使用[fact.pl]加载此文件时,解释器给出以下错误:简单Prolog阶乘程序加载,prolog,factorial,Prolog,Factorial,我正在使用SWI Prolog学习Prolog。 以下是我在文件fact.pl中的实践代码: 当我试图使用[fact.pl]加载此文件时,解释器给出以下错误: ?- [fact.pl]. ERROR: Syntax error: Operator expected ERROR: [fact ERROR: ** here ** ERROR: .pl] . 我不确定这是怎么发生的,我非常确定我所做的是标准的程序加载命令 任何人都见过这个,请帮忙,谢谢 不是吗?-[事实]。或者?-['fact.pl
?- [fact.pl].
ERROR: Syntax error: Operator expected
ERROR: [fact
ERROR: ** here **
ERROR: .pl] .
我不确定这是怎么发生的,我非常确定我所做的是标准的程序加载命令
任何人都见过这个,请帮忙,谢谢 不是吗?-[事实]。或者?-['fact.pl']。当我编译你的程序时,它给了我以下答案 因子5,F。 F=120; 错 这意味着您的程序工作正常 阶乘N,F:-N为0,F为1,**!**;N>0,M是N-1,阶乘alm,G,F是N*G 包括切割操作符!。然后可以避免输出中的错误部分 使用consultfact或consult'fact.pl' 下面是另一个简单的程序
factorial(0,1).
factorial(N,F) :-
N>0,
N1 is N-1,
factorial(N1,F1),
F is N * F1.
0的阶乘是1
如果N>0且N1为N-1,则N的阶乘为F,N1的阶乘为F1且F为N*F1
factorial(0,1).
factorial(N,F) :-
N>0,
N1 is N-1,
factorial(N1,F1),
F is N * F1.