Please subscribe to the official Codeforces channel in Telegram via the link https://t.me/codeforces_official. ×

Возведение числа в степень по простому модулю, но только показатель степень не помещается в long long

Revision ru1, by Bch, 2018-07-07 12:49:35

Добрый день! Столкнулся с проблемой, что если нам нужно число a возвести в степень p, которая очень большая, то мы не можем брать показатель степень по данному нам простому модулю mod, это просто неправильно. В одной задаче мне нужно было вначале вычислить степень, в которую я буду возводить, а потом уже соответственно возводить, и на ограничениях, на которых показатель степени не нужно брать по модулю(он меньше 1е9 + 7) у меня AC, но на бОльших ограничениях, где уже нужно показатель степень брать по модулю у меня WA. Я подумал над малой теоремой Ферма и решил, что если брать показатель степени p по модулю (m — 1) то при дальнейшем возведение в степень ответ будет корректный, строгого доказательства у меня не было, но это вроде работало, но я получил WA(видимо раз модуль по которому мы берём уже не простой, то и неправильно). И я решил спросить: если какой-то способ считать показатель степень по данному нам простому модулю, а не записывать его длинной арифметикой?

Tags возведение в степень, малая теорема ферма, длинная арифметика

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
ru1 Russian Bch 2018-07-07 12:49:35 1091 Первая редакция (опубликовано)