gpt4 book ai didi

list - 如何简化表示为列表列表的代数方程

转载 作者:行者123 更新时间:2023-12-01 09:43:29 24 4
gpt4 key购买 nike

我想使用 Prolog 来简化 algebra expression表示为列表列表:

代数方程

f = 3x+2

列表列表

[[3,1],[2,0]]

32 是系数
10 是指数

这应该是显而易见的。

我正在寻找有关如何编写此示例的简化代码的一些提示或建议:

f = 3x+2x+1+2
[[3,1],[2,1],[1,0],[2,0]]

简化:

f = 5x+3
[[5,1],[3,0]]

我尝试了一些内置函数,但没有正确了解如何使用它们。

最佳答案

一个类轮,类似于 joel76 提出的:

simplify(I,O) :-
bagof([S,E],L^(bagof(C,member([C,E],I),L),sum_list(L,S)),O).

给定 E(指数),内部 bagof 收集 C(系数),结果列表 L 求和到 S,并与 E 配对成为 [S,E],这是 O 的一个元素(单项式)。如果您省略通用量化说明符(即 L^),您将在回溯时得到单项式。

关于list - 如何简化表示为列表列表的代数方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54428259/

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