Math 我如何让我的计算机进行这种计算?我必须使用哪种编程语言?
我需要一个方程,它能找到一个不等式的所有解。例如:Math 我如何让我的计算机进行这种计算?我必须使用哪种编程语言?,math,Math,我需要一个方程,它能找到一个不等式的所有解。例如:5x+4y+3z+3a+3b>40。这5个未知数,x,y,z,a,b必须取自4.0,3.5,3.0,2.0,1.5,1.0,0.5。例如,x=4,y=4,z=1,a=1,b=1是一种可能性,但还有更多的可能性。我怎样才能让我的电脑找到所有这些呢?主要的事情是找出如何循环所有的可能性。在大多数语言中,都会遇到五个for循环。Python允许您使用itertools.product来完成以下任务: #/usr/local/bin/python3 来自
5x+4y+3z+3a+3b>40
。这5个未知数,x
,y
,z
,a
,b
必须取自4.0
,3.5
,3.0
,2.0
,1.5
,1.0
,0.5
。例如,x=4
,y=4
,z=1
,a=1
,b=1
是一种可能性,但还有更多的可能性。我怎样才能让我的电脑找到所有这些呢?主要的事情是找出如何循环所有的可能性。在大多数语言中,都会遇到五个for循环。Python允许您使用itertools.product
来完成以下任务:
#/usr/local/bin/python3
来自itertools进口产品
对于产品中的g(范围(9),重复=5):
如果5*g[0]+4*g[1]+3*g[2]+3*g[3]+3*g[4]>80:
打印([x/2代表x英寸g])
而不是0-4乘以0.5,我将所有值加倍,成为一个整数。不过,你可能想重新考虑一下
/gpa.py | wc
告诉我,您将获得超过20000个可能的解决方案。(如果您只需要找到解决方案的数量,而不列出它们,那么这可能会简化您的工作。)如前所述,这是一个整数规划问题(线性规划的特例)。网络搜索应该会有很多点击率。这通常是一个很难解决的问题;我的建议是使用GLPK之类的包。整数规划非常有用,所以即使这个特殊问题的范围有限,也非常值得你花时间来研究如何解决它,因此,您可以将整数规划应用于可能遇到的其他问题。听起来您正在尝试编写一个程序,该程序将告诉您获得总GPA>40所需的最少工作量。假设我想要2.00 GPA,那么我的成绩将是x y z a b,我的学分分别是5,4,3,3,3,那么等式如下(5x+4y+3z+3a+3b)/18)>2.00然后5x+4y+3z+3a+3b>36那么我如何找到x y z a b的每个可能性呢(当我把它写到python时,[0,1,3,4,4]是一个解决方案,但如果我像y=1和z=4a=4b=4那样思考,那么结果是错误的。它不是>80:([0,1,3,4,4]
值为5*0+4*1+3*3+4+3*4=37的不是一个解决方案(和z=3
)。它将对应于g=[0,2,6,8]
)。