がるの健忘録

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

平方根へのメモ

gmp_sqrtremをつかって平方根を小数点までちゃんと出す用メモ。
前提として、gmp_sqrtremの戻り値をa 余り bとする。


x = a^2 + b
√x = a + γ
x = (a + γ)^2
a^2 + b = (a + γ)^2
a^2 + b = a^2 + 2aγ + γ^2
b = 2aγ + γ^2
2aγ + γ^2 - b = 0
γ = -a + √(a^2 + b)


プログラム的には…

$x = 平方根にする対象の数値;
list($a, $b) = gmp_sqrtrem($x);
$a = gmp_strval($a);
$b = gmp_strval($b);
$c = sqrt(pow($a, 2) + $b) - $a;
$p = $a + $c;


いぢょ。真剣にタダのmemo。