Я должен максимально упростить дробь. Должна быть Ява.
Это то, что у меня есть до сих пор
if (numerator != 0)
{
numerator += denominator;
denominator += numerator /2;
}
Я должен максимально упростить дробь. Должна быть Ява.
Это то, что у меня есть до сих пор
if (numerator != 0)
{
numerator += denominator;
denominator += numerator /2;
}
Я начну с того, что вам нужно больше практики с 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;
Я надеюсь, что это имеет смысл для вас. Это не так уж сложно после того, как вы это поймете. Позвольте мне знать, если у вас есть еще вопросы!
Кстати. кратчайший возможный метод НОД таков.
static int gcd(int a, int b) {
if(b == 0) return a;
else return gcd(b, a%b);
}
это также намного быстрее, чем использование вычитания.