2 回答
TA贡献1776条经验 获得超12个赞
这就是所谓的线性方程组。如果需要,您可以手动解决这个问题,但您也可以使用线性求解器。例如与同情
import sympy
l,o,a,n,s,m,r,d,g,e = sympy.symbols('l,o,a,n,s,m,r,d,g,e')
eq1 = l+o+a+n - 17
eq2 = s+a+m -18
eq3 = a+n+n+a -20
eq4 = r+o+l+l+o -21
eq5 = d+a+m+a+g+e+s -30
eq6 = s+a+l+m+o+n- 33
sol, = sympy.linsolve([eq1,eq2,eq3,eq4,eq5,eq6],(l,o,a,n,s,m,r,d,g,e))
l,o,a,n,s,m,r,d,g,e = sol
print(g+a+r+d+n+e+r)
线性方程的求解速度非常快。复杂度为 O(n 3 ),其中 n 是变量的数量。所以对于这样一个小问题,它几乎是即时的。
TA贡献1868条经验 获得超4个赞
L + O + A + N - 17 = 0
S + A + M - 18 = 0
2 * A + 2 * N - 20 = 0
等等。
尝试制作一个矩阵,如:
L O A N S M R D G E val
[1 1 1 1 0 0 0 0 0 0 -17 | 0] LOAN
[0 0 1 0 1 1 0 0 0 0 -18 | 0] SAM
[0 0 2 2 0 0 0 0 0 0 -20 | 0] ANNA
...
[0 0 1 1 0 0 2 1 1 2 -x | 0] GARDENER
现在您可以使用例如高斯方法来解决它。这将需要 O(n^3) 时间复杂度。
添加回答
举报