看板 java 關於我們 聯絡資訊
小弟的原程式碼有點長 以下是部分節錄: (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); 小弟的作法是利用輾轉相除法 但是當我輸入 numerator = 14 , denominator = 5 時 答案卻出現 7/2 請問是甚麼原因呢? 有勞高手解答 -- ┌這?─────────────────────────────┐ │ │ 一"一 \ / >\\\< ╯ ╰ ∩ ∩ ▁ ▁_< ㄧ ㄧ+ │ ε Δ ╰╯ 北七 亂喔 害羞 莎笅 爽啦 哭爸 XD 科科 └──────────────────────────────────────┘ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.7.59
slalala:"/" 04/14 22:05
tkcn:在迴圈中把變數印出來,自己解決它,會讓你學到不少。 04/14 22:11
neverfly:題外話,印象中GCD大部份都是用while玩而不是for吧 04/15 14:08
elfswordsman:樓上講的我也有發現 XD 不過都一樣就是了 04/15 17:42
elfswordsman:更正= = 不一樣 多浪費了一個i的空間 04/15 17:44
TonyQ:for不寫定義域跟遞增域沒差... 04/15 23:24
elfswordsman:是沒差阿 但這題有幹嘛裝沒看到... 04/17 16:59
Knighter:型別要轉換成一樣 ex: double 04/18 01:02