[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数を算出する。 |
[.NET]Imageの分割 [Programming .NET Tips]
ファイルから取り込んだImageを複数に分割する機会があったので、
作ってみました。
[ポイント]
(1)Imageオブジェクトを指定した個数で分割します。
例:縦5個、横10個と指定すると、5×10の2次元配列でImageを作成します。
(2)Imageを分割するには、
Graphics.DrawImage(Image, Integer, Integer, Rectangle, GraphicsUnit)
を使います。
(3)参考文献
『MSDN Library for VisualStudio2008日本語版』
[ソース]
作ってみました。
[ポイント]
(1)Imageオブジェクトを指定した個数で分割します。
例:縦5個、横10個と指定すると、5×10の2次元配列でImageを作成します。
(2)Imageを分割するには、
Graphics.DrawImage(Image, Integer, Integer, Rectangle, GraphicsUnit)
を使います。
(3)参考文献
『MSDN Library for VisualStudio2008日本語版』
[ソース]
| |
[VB.NET]Imageを分割する例 |
| |
[C#]Imageを分割する例 |