Size: a a a

ML Boot Camp Official

2020 March 16

IT

Ivan Ti in ML Boot Camp Official
А, тем же числом.
источник

IT

Ivan Ti in ML Boot Camp Official
Dmitry Dovgopoly
А если два таких числа перемножить? А возвести в степень?
Ведь все помодулю n происходит, в чем проблема то
источник

IF

Ivan Filonov in ML Boot Camp Official
пляски все равно понадобятся - 10**12 это где-то 2**39, можно считать 40
источник

IF

Ivan Filonov in ML Boot Camp Official
просто пляски умеренные и без лютой длинной арифметики
источник

ВВ

Вячеслав В in ML Boot Camp Official
Когда ты начинаешь в С++ прикручивать пляски - они по времени начинают проседать. А еще надо знать, что эти пляски в природе существуют.
нельзя просто написать (10^12 * 10^12) % 10^12
А питон проглотит.
источник

DD

Dmitry Dovgopoly in ML Boot Camp Official
Ivan Ti
Ведь все помодулю n происходит, в чем проблема то
Нет никаких проблем. Просто 10**12 * 10**12 > 2^64. А значит нужно написать код, который делает такое умножение по модулю.
источник

ВВ

Вячеслав В in ML Boot Camp Official
А это уже не однострочная быстрая команда. Я использовал вариант с рекурсивной функцией. Знаешь как красиво и быстро ?
источник

DD

Dmitry Dovgopoly in ML Boot Camp Official
Быстро - это не использовать возведение в степень, а использовать умножение, где возможно.
источник

АБ

Алексей Белый in ML Boot Camp Official
У меня на ноуте задача 3.E решалась на плюсах с типом __int128. А на тестирующей системе ни в одном компиляторе этого типа не оказалось.
источник

ВВ

Вячеслав В in ML Boot Camp Official
Dmitry Dovgopoly
Быстро - это не использовать возведение в степень, а использовать умножение, где возможно.
мы говорим, что есть A<N - простые числа порядка 10^12,
X = (A*A)%N как посчитать красиво и быстро ? без __int128
источник

ВВ

Вячеслав В in ML Boot Camp Official
до вчерашнего дня я не представлял себе как это посчитать. но это медленно
источник

VR

Victor Ryabinin in ML Boot Camp Official
Вячеслав В
мы говорим, что есть A<N - простые числа порядка 10^12,
X = (A*A)%N как посчитать красиво и быстро ? без __int128
простые или натуральные?
источник

ВВ

Вячеслав В in ML Boot Camp Official
я специально написал простые, чтобы не придумывали всяких трюков. В общем случае - любые
источник

VR

Victor Ryabinin in ML Boot Camp Official
для простых проще заранее таблицу составить, любым способом, не так уж их и много
источник

DD

Dmitry Dovgopoly in ML Boot Camp Official
Вячеслав В
мы говорим, что есть A<N - простые числа порядка 10^12,
X = (A*A)%N как посчитать красиво и быстро ? без __int128
источник

VR

Victor Ryabinin in ML Boot Camp Official
вот есть формула
источник

VR

Victor Ryabinin in ML Boot Camp Official
источник

ВВ

Вячеслав В in ML Boot Camp Official
и как это тебе поможет в таких условиях ?
источник

VR

Victor Ryabinin in ML Boot Camp Official
Вячеслав В
и как это тебе поможет в таких условиях ?
т.е берем ((A%N )*(A%N ))%N
источник

АБ

Алексей Белый in ML Boot Camp Official
a и b по условию меньше n
источник