[Algo]和と積から元の2数の算出 [Programming Algorithm]
[はじめに]
(1)ある2数の和と積から、元の2数を求めるアルゴリズムです。
例えば、『足して5』、『掛けて6』になる2つの数は、
2と3になります。
これを解くアルゴリズムとして、
2次方程式の解の解法を利用することができます。
具体的には、
Xについての2次方程式
X2-5X+6=0 は因数分解すると、
(X-2)(X-3)=0 となり、
解はX=2、3 となります。
つまり、
X2-(α+β)X+αβ=0 の解が、
X=α、β となることを利用することで、
元の2数を求めることができます。
α+β=A、αβ=Bとした時、
2次方程式の解の公式から、
X2-AX+B=0
X= {A±(A2 - 4B)1/2} / 2 となり、
求める2数は、
X= {A+(A2 - 4B)1/2} / 2 と
X= {A-(A2 - 4B)1/2} / 2
となります。
また、2次方程式の判別式が負数の場合、
つまり2次方程式の実数解が存在しない場合は、
元の2数が存在しないので、解を算出する前にチェックする必要があります。
[参考]2次方程式の解の公式
[ソース]
(1)ある2数の和と積から、元の2数を求めるアルゴリズムです。
例えば、『足して5』、『掛けて6』になる2つの数は、
2と3になります。
これを解くアルゴリズムとして、
2次方程式の解の解法を利用することができます。
具体的には、
Xについての2次方程式
X2-5X+6=0 は因数分解すると、
(X-2)(X-3)=0 となり、
解はX=2、3 となります。
つまり、
X2-(α+β)X+αβ=0 の解が、
X=α、β となることを利用することで、
元の2数を求めることができます。
α+β=A、αβ=Bとした時、
2次方程式の解の公式から、
X2-AX+B=0
X= {A±(A2 - 4B)1/2} / 2 となり、
求める2数は、
X= {A+(A2 - 4B)1/2} / 2 と
X= {A-(A2 - 4B)1/2} / 2
となります。
また、2次方程式の判別式が負数の場合、
つまり2次方程式の実数解が存在しない場合は、
元の2数が存在しないので、解を算出する前にチェックする必要があります。
[参考]2次方程式の解の公式
[ソース]
| |
[VB.NET]和と積から元の2数を算出する。 |
コメント 0