2017-01-07 9 views
0

私は、選択した番号のすべての要素を書き込むと思われる簡単なプロログプログラムを持っています。しかし、私はプロローグを学ぶことはできないと思っています。私はちょうどそのプログラムの仕組みを理解していない。コードは以下の通りです。プロローグでプログラムを説明する

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). 

答えて

0

deli/2カウンタNをカウントアップする(最初deli/1からの呼び出しに1に設定されている)、それが所定数X(第一節)に等しい場合、またはそれがきれいX(第2節を分割する場合は、その値を出力)。後者の場合は、Nをインクリメントし、次の要因の検索を続けます。

その後、バックトラックして無限ループに入ります。

関連する問題