Re: [請益] 判斷gcd的程式 但是我看不太懂QQ

看板PHP作者 (我是大笨蛋)時間17年前 (2008/11/06 13:54), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串3/3 (看更多)
這方法實在是不太好,不要學這種效率差又寫得不清楚的 code。 這裡提供一個簡短易懂的作法: function gcd($a, $b) { if ($b == 0) return $a; return gcd($b, $a % $b); } ※ 引述《mike7788 (mike)》之銘言: : <? : $x2 = rand(1,100); : $y2 = rand(1,100); : $gcd = 1; : for ($i=2;$i<=100/2;$i++) : {if ($x2%$i==0&&$y2%$i==0) : {$gcd*=$i; $x2/=$i; $y2/=$i; $i=1;}} : echo $gcd ; : ?> : 看不懂的地方是 $i=1代表什麼意思呢 : 如果不加那段 就沒辦法得到正確的gcd : 小弟我還是新手 : 希望各位高手幫忙解答 感激 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.31.73

11/06 21:36, , 1F
輾轉相除法,典型的 recursive
11/06 21:36, 1F

11/06 21:42, , 2F
推一個.
11/06 21:42, 2F

11/06 21:43, , 3F
若沒接觸過遞迴的話,還會以為原PO在開玩笑 8)
11/06 21:43, 3F

11/09 09:01, , 4F
感激
11/09 09:01, 4F
文章代碼(AID): #194eQQKZ (PHP)
文章代碼(AID): #194eQQKZ (PHP)