注 : このプログラムは、ファイル 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); }