gpt4 book ai didi

prolog - 使用prolog求解算术表达式

转载 作者:行者123 更新时间:2023-12-02 01:33:27 25 4
gpt4 key购买 nike

我是Prolog新手,现在想用Prolog解决算术表达式问题。假设我们有这样一个谓词:expr(E,Val,Var,Sol)第一个是表达式,第二个是值,第三个是变量,第四个是结果。例如,如果我们问:expr(3+x,2,x,S)答案将是 S=5如果我们问 expr(5*6,3,x,S) 答案将是 S=30 在这种情况下 x 不会出现在表达式中所以我们只是忽略变量及其值。我想知道我该如何实现它,你们能给我一些提示吗

最佳答案

number_si(N) :-
functor(N,_,_),
number(N).

expr(V,Val,V,Val).
expr(N, _Val, _Var, N) :-
number_si(N).
expr(A+B, Val,Var, R) :-
expr(A, Val, Var, RA),
expr(B, Val, Var, RB),
R is RA+RB.

还有更简洁的方式来表达这一点。也许其他人想要做出贡献。

关于prolog - 使用prolog求解算术表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32739805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com