我必须尽可能简化一小部分。必须是Java。
这是我到目前为止所拥有的
if (numerator != 0)
{
numerator += denominator;
denominator += numerator /2;
}
答案 0 :(得分:2)
顺便说一句。最短的gcd方法就是这个。
static int gcd(int a, int b) {
if(b == 0) return a;
else return gcd(b, a%b);
}
它比使用减法要快得多。
答案 1 :(得分:0)
我首先要说你需要更多的Java练习。你的代码甚至没有关闭...
if (numerator != 0)
{
int common = gcd(Math.abs(numerator), denominator); // Gets a common denominator and uses abs to make sure it is positive.
numerator = numerator / common; // Divides top number by common #
denominator = denominator / common; // Divides bottom number by common #
}
你需要import java.util.Math;
,你必须像我一样得到GCD。要获得GCD,请说
while (num1 != num2)
{
if (num1 > num2)
{
num1 = num1 - num2;
}
else
{
num2 = num2 - num1;
}
}
return num1;
我希望这对你有意义。你理解它之后并不太难。如果您还有其他问题,请与我们联系!