Re: [問題] 最大公因數

看板java作者 (keeperkai)時間14年前 (2010/04/15 22:22), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《sie (︿╴︿")》之銘言: : 小弟的原程式碼有點長 : 以下是部分節錄: : (numerator>=denominator) : --------------------------------------------- : p = numerator; : q = denominator; : m = 1; : for(i=1;m>0;i++) : { : r = p/q; : m = p%q; : if(m==0) : HCF = q; : else : p = q; : q = r; : } : numerator = numerator/HCF; : denominator = denominator/HCF; : String fraction = numerator+"/"+denominator; : System.out.println(fraction); 第一點: q=r...如果我記得沒錯的話搌轉相除是gcd(p,q)=gcd(q,p%q)而非跟 商數再做gcd,所以應該是q=m 依照你演算法的寫法,各個時段變數的值如下: initial:p=14 q=5 i=1: p=5 q=r=14/5=2 i=2: p=2 q=r=5/2=2 i=3: 觸動if(2%2=0) ==> HCF=2 離開回圈 numerator=14/2=7 denominator=5/2=2 結果當然是"7/2"... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.222.23.95

04/16 09:50, , 1F
感恩
04/16 09:50, 1F
文章代碼(AID): #1Bno4Dmp (java)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1Bno4Dmp (java)