在 Python 中分解二次多项式
由于在我的脑海中分解二次方程只是发生了,并且自从我学会它以来就已经这样做了 - 我将如何开始用 Python 编写二次因式分解器?
Since factoring a quadratic equation in my head just happens, and has done that since I learned it - how would I go about starting to write a quadratic factorer in Python?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
改进 Keiths 的答案:
从多项式 P(x) = a*x^2 + b*x + c 开始。
使用二次公式(或您选择的其他方法)求
r1
和r2
到P(x) = 0
的根。您现在可以将 P(x) 分解为
a*(x-r1)(x-r2)
。如果您的因子为 (3x - 4)(x - 9),则解将为 3*(x - 4/3)(x - 9)。
您可能想找到一种方法将 3 乘以因子以消除分数/看起来很漂亮。在这种情况下,使用分数算术而不是双精度数可能会有所帮助,这样您就可以更好地了解分母。
Improving Keiths's answer:
Start with a polynomial
P(x) = a*x^2 + b*x + c
.Use the quadratic formula (or another method of your choice) to find the roots
r1
andr2
toP(x) = 0
.You can now factor P(x) as
a*(x-r1)(x-r2)
.If your factor (3x - 4)(x - 9) the solution will be 3*(x - 4/3)(x - 9).
You might want to find a way to multiply the 3 into the factors to get rid of fractions / look pretty. In this case, it might help to use fraction arithmetic instead of doubles so you can know the denominators better.
使用二次公式。
Use the quadratic formula.
我尝试实施hugomg 的方法。我从网上偷了“gcd”和“简化分数”函数。这是我的草率方法:
如果我运行它,我会得到输出:
I tried implementing hugomg's approach. I stole the "gcd" and "simplify fraction" function from online. Here is my sloppy approach:
If I run this I get the output: