gpt4 book ai didi

c++ - 将 (0&(1|0)|1) & (0|1) 等字符串转换为对应的真值

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:53:34 25 4
gpt4 key购买 nike

我在面试论坛上发现了这个问题,认为这是一个有趣的问题。有什么简单的方法可以用 C++ 完成这个任务吗?例如,假设我们有函数声明:

bool _transform(string x); 
/* x is a combination of (, ), 0, 1, &, and | such that all expressions
start with a open and ending brace, and the function evaluates the
strings actual truth value
*/

是否有任何有效且相对简单的方法来做到这一点?我想到了递归地关闭括号,但问题似乎很难。

最佳答案

这只是一个相当简单的表达式解析和评估练习,使用逻辑运算符而不是算术运算符。真的很琐碎。查找“递归下降表达式解析”或 Dijkstra Shunting-yard 算法。警告:有许多本土的和其他接近后者的等价物,其中大多数都有细微的错误或非线性性能。使用来源。

注意标题中表达式的值为 1。

关于c++ - 将 (0&(1|0)|1) & (0|1) 等字符串转换为对应的真值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22951515/

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