
注 : このプログラムは、ファイル complx.cpp にあります。
多項式の根 a x2 + b x + c = 0 は、次の公式によって与えられます。
x = (-b 2 - 4ac))/2a
以下のプログラムは、入力に 3 つの倍精度数を使用し、1 対の値として複素数の根を返します。
typedef complex<double> dcomplex;
pair<dcomplex, dcomplex> quadratic
(dcomplex a, dcomplex b, dcomplex c)
// 二次方程式の根を返す
{
dcomplex root = sqrt(b * b - 4.0 * a * c);
a *= 2.0;
return make_pair(
(-b + root)/a,
(-b - root)/a);
}