显示二次方程根的精确形式

时间:2013-09-08 17:51:45

标签: algorithm root quadratic

我注意到几乎所有的新计算器都能够以精确的形式显示二次方程的根。例如:

x^2-16x+14=0
x1=8+5sqrt2
x2=8-5sqrt2

我可以使用什么算法来实现这一目标?我一直在寻找,但我发现没有与此问题相关的结果

2 个答案:

答案 0 :(得分:0)

假设您的二次方程式为

y = ax^2+bx+c

你得到了两个根源

x_1,x_2 = ( -b +- sqrt(b^2-4ac)) / 2a

当你使用b和平方根之间的+时,-使用另一个{{1}}。 如果你想从平方根中取出一些东西,只需计算参数的因子,然后取出指数大于2的那些。

顺便说一句,你发布的两个根是错误的。

答案 1 :(得分:0)

“算法”与纸上完全相同。根据编程语言,它可能以int delta = b*b - 4*a*c;开头。

您可能想要定义术语的数据类型和简化,但是,如果等式的系数不仅仅是整数,而是它们本身先前方程的解。如果这是你想要的东西,请查看“符号计算”。有些语言比其他语言更好。我希望你所提出的基本版本实际上在ML的一些instance教程中用作示例(见第9章)。