Как сделать. Я конвертирую неправильную дробь в смешанное число в Java? - PullRequest
0 голосов
/ 05 мая 2019

Я пытаюсь использовать ccc j4 или s2 для вызова 2002 года. В настоящее время у меня есть функция для упрощения дроби, но она дает ее как смешанное число. Результатом этой функции является строка, и я думаю, что мне нужна другая функция, чтобы преобразовать ее в смешанное число. Любая помощь будет оценена. Спасибо!

Это функция, которую я использовал для преобразования:

public static long gcm(long a, long b) {
  return b == 0 ? a : gcm(b, a % b);
}

public static String asFraction(long a, long b) {
  long gcm = gcm(a, b);
  return (a / gcm) + "/" + (b / gcm);
}

Выводит неправильную дробь, но я хочу смешанное число. Как я могу получить это? Постскриптум Английский не мой родной язык.

1 Ответ

2 голосов
/ 05 мая 2019

Поскольку это часть проблемы, я воздержусь от точного ответа, но я бы сосредоточился на следующем: смешанное число - это целое число, за которым следует правильная дробь.У вас неправильная фракция.Как преобразовать неправильные дроби в смешанные числа?

Давайте рассмотрим простой пример, скажем, 11/4.Как бы мы записали это как смешанную дробь?Мы написали бы 2 3/4, потому что:

  • 2 - это наибольшее целое число, меньшее 11/4.
  • 2 равно 8/4, оставляя 3/4для правильной дроби.
  • Таким образом, целая часть равна 2, а правильная дробь равна 3/4, что дает нам ответ.

Таким образом, с учетом неправильной дроби n/d, один из способов получить смешанное число - взять k = floor[n/d] и вернуть k + (n - kd)/d.

Надеюсь, это поможет!

...