ÃÖ´ë°ø¾à¼ö ±¸Çϱâ (À¯Å¬¸®µå ¾Ë°í¸®Áò) |
|
|
 |
13³â Àü |
µÎ¼ö »çÀÌ¿¡ ÃÖ´ë°ø¾à¼ö°¡ Á¸ÀçÇÑ´Ù¸é,
$A¿Í $B »çÀÌ¿¡´Â ÃÖ´ë°ø¾à¼ö $G¸¦ °¡Áö´Â ¼ö½ÄÀÌ ¿Ï¼ºµÈ´Ù.
ÀμöºÐÇØ
$A = $G * $x ----- 1½Ä
$B = $G * $y ----- 2½Ä
1½Ä°ú 2½ÄÀ» ´Ù½Ã Ç¥ÇöÇϸé,
$A - $B = ($G * $x) - ($G *$y) = $G * ($x - $y) ----- 3½Ä
$A % $B = ($G * $x) % ($G *$y) = $G * ($x % $y) ----- 4½Ä
3½Ä¿¡¼, $A¿Í $B°¡ ÃÖ´ë°ø¾à¼ö¸¦ °¡Áö¸é, $A-$Bµµ $A¿Í $B°¡ °¡Áö´Â ÃÖ´ë°ø¾à¼ö¸¦ °°ÀÌ °°´Â´Ù.
$G = GCD($A, $B) = GCD($A - $B, $B) = GCD($B, $A)
4½Ä¿¡¼, $A¿Í $B°¡ ÃÖ´ë°ø¾à¼ö¸¦ °¡Áö¸é, $A%$Bµµ $A¿Í $B°¡ °¡Áö´Â ÃÖ´ë°ø¾à¼ö¸¦ °°ÀÌ °°´Â´Ù.
$G = GCD($A, $B) = GCD($A % $B, $B) = GCD($B, $A)
Áï, $G = GCD($A, 0) = $A °¡ ¼º¸³µÇ´Â °ÍÀÌ´Ù. ( 0Àº ¾î¶²¼ö¿Í °öÇصµ 0À̱⠶§¹®)
<?php
function get_cgd($u, $v)
{
$t = 0;
while($v) {
$t = $u % $v;
$u = $v;
$v = $t;
}
return $u;
}
?>
echo get_cgd(45, 10);
|
|
̵̧ : 647 |
̵̧
¸ñ·Ï
|
|