本文介绍了Prolog 算术语法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何将a定义为整数/浮点数?

How to define a as a integer/float number ?

我想找到 a+b+c+d=10 的结果,其中 a,b,c,d 是整数且 >=0.

I want to find the results of a+b+c+d=10 where a,b,c,d is integer and >=0.

推荐答案

这是一个简单、现代、纯 Prolog、非 CLP 库的解决方案:

Here is a simple, modern, pure Prolog, non-CLP-library solution:

range(X):-
        member(X,[0,1,2,3,4,5,6,7,8,9,10]).

ten(A,B,C,D):-
        range(A),
        range(B),
        range(C),
        range(D),
        10 =:= A + B + C + D.

这篇关于Prolog 算术语法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-03 12:35