(0.99*x) + (1.29*y) + (1.59*z) = 0,這種三元一次用程序怎麼寫?

2015-10-05 21:13:00 +08:00
 SolidZORO
我 for 了 3 次,也可以跑出來,但不知姿勢是否正確。
4542 次点击
所在节点    程序员
30 条回复
qiayue
2015-10-05 21:21:26 +08:00
这题有很多解吧
ljdawn
2015-10-05 21:23:37 +08:00
可以用矩陣啊
menc
2015-10-05 21:23:37 +08:00
这个三元一次方程是一个空间直角坐标系内过原点的平面的方程,

foreach x and y:
z = -0.99/1.59*x - 1.29.1.59*y
(x,y,z) append to solution_set

用这种方式来得到方程所有解

不过这样似乎和空间直角坐标系关系并不太大:-(
ChiangDi
2015-10-05 21:26:06 +08:00
这你也能解,三个未知数一个方程无穷多个解啊。
billgreen1
2015-10-05 21:26:32 +08:00
请更加清楚的描述你得问题,至少我没理解你要做什么。
SolidZORO
2015-10-05 21:26:46 +08:00
@menc 其實我是用來算我到底要花多少錢才能把 appstore 的餘額清零⋯⋯ 我算了下貌似要好多錢,所以上來問問。
billgreen1
2015-10-05 21:27:33 +08:00
menc
2015-10-05 21:29:31 +08:00
或者如楼上,当做齐次线性方程组来求解,得到基础解系,这样解的形式更赏心悦目一些:-)
menc
2015-10-05 21:30:40 +08:00
@SolidZORO 那你的常数项不应该是 0
SolidZORO
2015-10-05 21:34:27 +08:00
@menc 嗯,的確不是 0 ,我只是想學學大家解開的過程。

假設 appstore 的餘額是, 0.81 ,然後可以消費的 app 是 0.99 、 1.29 、 1.59 ,如果沒有解出,但餘額不夠了,需要加 10 ,以此類推。
hellov22ex
2015-10-05 21:36:46 +08:00
只有一个方程,理论上无穷啊
menc
2015-10-05 21:43:18 +08:00
@SolidZORO 当做齐次线性方程组来求解 就这样
jky
2015-10-05 22:10:58 +08:00
@SolidZORO 最小需充值 30 , 0.99*22+1.29*7
wy315700
2015-10-05 22:37:58 +08:00
求整数解吧,,,三维空间里的平面上的整点
ferran
2015-10-05 22:43:35 +08:00
用递归一个个试。。
zeal7s
2015-10-05 23:05:59 +08:00
每当我要解方程的时候我就用 WolframAlpha
http://www.wolframalpha.com/
SolidZORO
2015-10-05 23:14:56 +08:00
@zeal7s
@jky
謝謝大家,凌晨回到家我試試你們的各種方法。
stage37
2015-10-05 23:32:54 +08:00
@SolidZORO 你想求的是最简单的线性规划问题,如果写程序搞不定可以用 LINGO ,上面有朋友说的 WolframAlpha 应该有针对 linear programming 的 widget ,搜搜就好了。
Valyrian
2015-10-05 23:39:15 +08:00
经典算法问题, linear programming
XIVN1987
2015-10-05 23:57:00 +08:00
sympy 符号运算

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/225781

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX