gpt4 book ai didi

检测等效表达式的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:18:20 24 4
gpt4 key购买 nike

为了好玩,我正在玩一个程序来解决 24 game ,并且我正在尝试找到一种方法来避免在检查多个解决方案时显示等效表达式。

例如,给定数字6, 6, 6, 6,算法可能(迭代或递归)生成几个等价的表达式。
例如:((6 + 6) + 6) + 6(6 + 6) + (6 + 6) 等,因为它们都表示“加四个六在一起”。

显然,处理所有四个算术操作数时,事情变得更加有趣。
例如,表达式 A * B + C * DC * D + B * A 也是等价的。

另一种可能更难检测的情况是 A - B - C - DA - (C + B + D)

目前的想法:

  1. 仅在需要时使用括号(通过跟踪优先级和关联性)。
  2. 排序操作数以便于比较。

最佳答案

在您生成所有可能的结果为 24 的表达式后,我将添加一个规范化步骤。此步骤的目标是删除多余的括号。

一个很好的解释如何remove redundant parenthesis is given here .之后,您就拥有了一组所有规范化的表达式。

关于检测等效表达式的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37535008/

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