Язык: C++Реализовать программку с форматированным определенным образом выводом. Допустим,
Язык: C++
Воплотить программку с форматированным определенным образом выводом. Допустим, выводим итог дробленья a на b:
Входные данные:
3 2
Вывод: 1.5
Входные данные:
8 9
Вывод: \frac89
По сущности: если получившееся число можно представить в виде десятичной дроби без периода, то выводим в виде десятичной. Если нет (например, 8/9=8,8(8)) - в виде обычной.
Привожу 2 варианта решения.
Вариант 1: файл 1.cpp
Решение основано на обычном вычислении периода дроби (для дробей, имеющих окончательную десятичную запись(к примеру, 1/2=0,5), период рассчитывается для формы с нулем в периоде(то есть для 1/2 берется форма 0,5(0))) с поддержкою деления столбиком.
Замечание: сам метод деления в столбик я писал довольно издавна, и для иных программ, поэтому его реализация в данном коде может быть неоптимальной (в плане памяти или кол-ва операций), но он работает.
Вариант 2: файл 3.cpp
Если немножко углубиться в арифметику, можно отыскать аксиому, по которой дробь, представленная в виде m/n , где НОД(m, n) = 1, имеет окончательную десятичную запись тогда и только тогда, когда ее знаменатель . Тогда довольно сократить числитель и знаменатель на общие множители, а дальше выполнить проверку знаменателя.
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.
Разные вопросы.
Обществознание.