Найти остаток от деления 2^(27^17) ** 55. Просьба доходчиво объяснить решение.

0 голосов
26 просмотров

Найти остаток от деления 2^(27^17) на 55.
Просьба доходчиво объяснить решение.


Информатика (112 баллов) | 26 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

(A ≡ B mod C) ⇔ (A*A ≡ A*B mod C)
т.е.
x^y mod z ≡ (((((x mod z) * x) mod z) * x) mod z).....(y раз)...  * x) mod z)
анадогично со степенями
(A ≡ B mod C) ⇔ (A^D ≡ (B mod C)^D mod C)

основываясь на этом
вот код

number = 2
power = 27
ppower = 17
root = 55

# (number**(power**ppower)) % root

rest=number

for i in 1..ppower
    rest = (rest**power) % root
end
return rest

ответ 18



(53.1k баллов)
0

Его все обязаны знать?

0

никто не обязан, но можно считать что это алгоритм, это и есть просто алгоритм

0

Да, это проще чем объяснять, почему указан код на Ruby...

0

а почему это надо обьяснять? псевдо код да и все

0

Хотя бы потому, что псевдокод, содержащий метод p из Ruby, неочевиден.

0

методов тут нет. что именно не очевидно? я исправлю

0

Да ну? Хотите сказать, что p (как и print, printf, display...) - это в Ruby не методы вывода? Почитайте описание языка.

0

не заметила

0

Спасибо, вчера я решил её и сам, оказалось просто через теорему Эйлера.
Дискретная математика 1 курс.

0

с ответом сошлось