gpt4 book ai didi

python - 如何用 Python 解决这个数学难题?

转载 作者:太空狗 更新时间:2023-10-30 00:27:32 24 4
gpt4 key购买 nike

   A + B = 8
B + D = 8
A + C = 13
C - D = 6

如何求A、B、C、D的值?

我假设这些值是整数和正数,然后这样做:

   a = range(0,14)
b = c = d = a
for i in a:
for x in b:
for y in c:
for z in d:
if (a[i] + b[x] == 8 and a[i] + c[y] == 13 and b[x] + d[z] == 8 and c[y]-d[z]==6):
print(a[i],b[x],c[y],d[z])

但这行不通。即使那样,我也将范围扩展到 a = range(-100,100)。在手动求解方程式后(在谷歌的帮助下)我知道涉及 float ,例如A = 3.5

但是接下来怎么用Python解决呢。

最佳答案

如果您了解线性代数,则可以将问题构建为一个方程组,然后使用一个名为 numpy 的免费可用且流行的库(帽子提示 @Griboullis)来解决这个问题是微不足道的:

import numpy as np

A = [[1, 1, 0, 0],
[0, 1, 0, 1],
[1, 0, 1, 0],
[0, 0, 1, -1]]
b = [8, 8, 13, 6]
answer = np.linalg.solve(A, b)

如果你想复习一下这个 python 解决方案背后的矩阵数学/线性代数,你可以查看 https://www.mathsisfun.com/algebra/systems-linear-equations-matrices.html .

关于python - 如何用 Python 解决这个数学难题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41210861/

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