作者sie (︿╴︿")
看板java
标题[问题] 最大公因数
时间Wed Apr 14 21:28:21 2010
小弟的原程式码有点长
以下是部分节录:
(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
1F:推 slalala:"/" 04/14 22:05
2F:→ tkcn:在回圈中把变数印出来,自己解决它,会让你学到不少。 04/14 22:11
3F:→ neverfly:题外话,印象中GCD大部份都是用while玩而不是for吧 04/15 14:08
4F:推 elfswordsman:楼上讲的我也有发现 XD 不过都一样就是了 04/15 17:42
5F:→ elfswordsman:更正= = 不一样 多浪费了一个i的空间 04/15 17:44
6F:→ TonyQ:for不写定义域跟递增域没差... 04/15 23:24
7F:→ elfswordsman:是没差阿 但这题有干嘛装没看到... 04/17 16:59
8F:→ Knighter:型别要转换成一样 ex: double 04/18 01:02