#cpp #математика
Насколько большой может быть длина периода дроби типа int/int ?
Ответы
Ответ 1
Длина периода гарантированно меньше значения знаменателя, поскольку для зацикливания требуется получить повтор остатка от деления. Предположу, что максимальная длина достигается на максимальном простом знаменателе d, не являющемся делителем 10^k-1 для любого k. Причём, эта длина составит p-1. в качестве числителя взять 1. Доказать не могу и не проверял. Если никто не проверит, поэксперементирую вечером.Ответ 2
231-2 = 2147483646. Наибольшее простое число формата int равно 231-1 = 2147483647, это простое число Ферма Мерсенна. А уникальных остатков на один меньше. Положительный числитель - любой, кроме знаменателя.Ответ 3
Нулевой, поскольку деление int/int - целочисленное, так что в результате получается целое число. Это вам не Питон :)
Комментариев нет:
Отправить комментарий