用prolog解释程序
我有一个简单的prolog程序,它应该写一个选定数字的所有因子。然而,我开始认为我永远也学不了序言。我只是不明白这个程序是怎么运作的。代码如下用prolog解释程序,prolog,Prolog,我有一个简单的prolog程序,它应该写一个选定数字的所有因子。然而,我开始认为我永远也学不了序言。我只是不明白这个程序是怎么运作的。代码如下 deli(X):- deli(X,1). deli(X,X):- write(X),nl. deli(X,N):- Z is X mod N, Z==0, write(N),nl, N1 is N+1, deli(X,N1). deli(X,N):- N1 is N+1, deli(
deli(X):-
deli(X,1).
deli(X,X):-
write(X),nl.
deli(X,N):-
Z is X mod N,
Z==0,
write(N),nl,
N1 is N+1,
deli(X,N1).
deli(X,N):-
N1 is N+1,
deli(X,N1).
deli/2
对计数器N
(从deli/1
调用时最初设置为1)进行计数,如果它等于给定的数字X
(第一条),或者如果它干净地除以X
(第二条),则打印其值。在后一种情况下,它递增N
,并继续搜索下一个因子
然后,它返回并进入一个无限循环