问题描述
您好,我是 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,你需要做进一步的操作来减少可能的答案。