Предмет:
ИнформатикаАвтор:
darbyАвтор:
salmaАвтор:
ninaesparza964Автор:
jolie7Автор:
conradoАвтор:
lili18Привожу 2 варианта решения.
Вариант 1: файл 1.cpp
Решение основано на обыкновенном вычислении периода дроби (для дробей, имеющих конечную десятичную запись(например, 1/2=0,5), период вычисляется для формы с нулем в периоде(то есть для 1/2 берется форма 0,5(0))) с помощью деления столбиком.
Замечание: сам алгоритм деления в столбик я писал достаточно давно, и для других программ, поэтому его реализация в данном коде может быть неоптимальной (в плане памяти или кол-ва операций), однако он работает.
Вариант 2: файл 3.cpp
Если немного углубиться в математику, можно найти теорему, по которой дробь, представленная в виде m/n , где НОД(m, n) = 1, имеет конечную десятичную запись тогда и только тогда, когда ее знаменатель . Тогда достаточно сократить числитель и знаменатель на общие множители, а далее выполнить проверку знаменателя.
Автор:
brendamilesДобавить свой ответ
Предмет:
МатематикаАвтор:
raqueluztiОтветов:
Смотреть
Предмет:
ИсторияАвтор:
carrotgomrОтветов:
Смотреть
Предмет:
МатематикаАвтор:
javionvrkzОтветов:
Смотреть
Предмет:
Русский языкАвтор:
edgar254Ответов:
Смотреть