看板 PHP 關於我們 聯絡資訊
這方法實在是不太好,不要學這種效率差又寫得不清楚的 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
PHP5 :輾轉相除法,典型的 recursive 11/06 21:36
bobju :推一個. 11/06 21:42
bobju :若沒接觸過遞迴的話,還會以為原PO在開玩笑 8) 11/06 21:43
mike7788 :感激 11/09 09:01