首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有一种用Prolog创建数学表达式的方法?

有没有一种用Prolog创建数学表达式的方法?
EN

Stack Overflow用户
提问于 2020-03-25 21:42:57
回答 1查看 154关注 0票数 1

作为我学习Prolog的另一个副业,我想知道是否有解决这个问题的方法。我正在尝试编写一个程序,它将一组数字作为输入,并在它们之间添加数学运算符,以使数学表达式有效。例如:输入:5 1 6 11输出: 5*1+6=11

如果无法添加数学运算符以创建有效的数学表达式,则程序将仅输出一条消息,如“没有数学运算符的可能组合”。我感谢所有的回答。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-04 15:42:04

代码语言:javascript
运行
复制
operator(S, X, Y, R) :- S == '+', R is X + Y, !.
operator(S, X, Y, R) :- S == '-', R is X - Y, !.
operator(S, X, Y, R) :- S == '*', R is X * Y, !.
operator(S, X, Y, R) :- S == '/', R is X / Y, !.

operation(_, [], R, R) :- !.
operation([], _, R, R) :- !.
operation([O|List], [N1|List2], A, R):- operator(O, A, N1, R2), operation(List, List2, 
R2, R).

要对其进行测试:

代码语言:javascript
运行
复制
operation(['+', '*', '-', '/'], [1, 2, 3, 4], 0, R).

回答

R= -0.25。

希望这对你有用!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60850108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档