Solve system of 2 integer equations(解2个整数方程组)
本文介绍了解2个整数方程组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一组有三个未知数的两个方程,它有一些条件。x
、y
和z
必须都大于零。我怎么才能解决这个问题?只有一个解决方案,我已经知道了,但我想知道如何正确使用它。
以下是公式:
100 = x + y + z
100 = 10x +2.5y + 0.5z
需要查找x
、y
和z
。它们是正整数。
这是我的代码,但它不起作用:
from sympy import symbols, Eq, solve
x, y, z = symbols('x y z')
eq1 = Eq(x + y + z, 100)
eq2 = Eq(x*10 + y*2.5 + z*0.5, 100)
#eq3 = x, y, z must all be larger than zero and integers
solution = solve((eq1,eq2), (x,y,z))
solution
推荐答案
此类问题可以通过Z3py,SAT/SMT求解器:
解决from z3 import Ints, solve
x, y, z = Ints('x y z')
sol = solve(x + y + z == 100, x * 100 + y * 25 + z * 5 == 1000, x > 0, y > 0, z > 0)
print(sol)
输出:[z = 90, y = 6, x = 4]
。
请注意,通常情况下,Z3只寻找一个解决方案。要找到后续的解决方案,需要添加一个条款来禁止已经找到的解决方案。(在这种情况下,似乎只有一个解决方案。)
这篇关于解2个整数方程组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:解2个整数方程组


基础教程推荐
猜你喜欢
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01