我们如何使用 python 找到这个方程的答案?

问题描述

您好,我是 Python 数学方面的新手,我正在尝试求解以下方程的方法

a * (10**(n-1)) + x = y*x

其中 'y' 和 'n' 是已知的,我们必须找到 'x' 和 'a'。现在我尝试了一些向我返回一个方程而不是值的东西:

from sympy.solvers import solve
from sympy import symbols,Eq

def remove_first_digit(n,y):
    a,x = symbols("a,x",integer=True)
    equation = Eq((10 ** (n-1)),((y-1)*x)/a)
    return solve(equation,(x,a))
print(remove_first_digit(2,7))

我期待值 'a' = 3 和 'x' = 5。 我在这里做错了什么?

解决方法

答案是 x = 5a/3 或 a = 3x/5,满足此条件的任何数字组合都可以工作,而不仅仅是 3 和 5,您的程序可以完美运行。如果你想要 a = 3 和 x = 5,你需要做进一步的操作来减少可能的答案。