|
# 使用欧几里得算法计算最大公约数
def **(a, b):
if b == 0:
return a
else:
return **(b, a % b)
# 使用最大公约数计算最小公倍数
def lcm(a, b):
return a * b // **(a, b)
print("""<a1> x + <b1> y = <c1>
<a2> x + <b2> y = <c2>""")
a1 = int(input("<a1>="))
b1 = int(input("<b1>="))
c1 = int(input("<c1>="))
a2 = int(input("<a2>="))
b2 = int(input("<b2>="))
c2 = int(input("<c2>="))
# 检查b1和b2是否相等
if b1 == b2:
print("Error: b1 and b2 are equal, the equation has no unique solution.")
else:
# 计算x和y的值
lcm_a = lcm(a1, a2)
y = int((c1 * lcm_a - c2 * lcm_a) / (b1 * lcm_a - b2 * lcm_a))
x = int((c1 - b1 * y) / a1)
# 输出x和y的值
print("x =", x)
print("y =", y)
优化后的代码 |
|