printРабочее место участника

printЗадачи

26. Дробная арифметика

Ограничения: время – 2s/4s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Напишите программу, реализующую сложение, вычитание, умножение и деление дробей. Формат дробей во входных и выходных данных:
  • знак числа (пишется только в случае, когда его отсутствие изменяет число);
  • целая часть числа (нулевая целая часть не пишется, если есть числитель и знаменатель);
  • пробел (не пишется, если отсутствует целая или дробная часть);
  • числитель (если он не равен нулю);
  • знак / (если есть числитель);
  • знаменатель (если есть числитель).
Примеры представления дробных чисел: –7 3/4, 8 1/2, –7/11, 0, 11.
Ограничения (как на входные, так и на выходные данные): целая часть может принимать значения из диапазона 0…30 000, числитель и знаменатель могут принимать значения от 1 до 30 000, при делении второй операнд не равен нулю.
Ввод
В первой строке вводится дробь (первый операнд), во второй – знак операции ("+" – сложение, "-" – вычитание, "*" – умножение, "/" – деление), в третьей строке – дробь (второй операнд). Обе дроби могут быть сократимы.
Вывод
В единственной строке выводится несократимая правильная дробь (результат) в описанном формате.

Пример ввода

-3 1/6
+
2/4

Пример вывода

-2 2/3
Источник: Central quarterfinal NEERC, 2003
loading