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

0 интересует 0 не интересует
59 просмотров

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


спросил от Начинающий (112 баллов) в категории Информатика
1 Ответ
0 интересует 0 не интересует
ответил от Доцент (53.1k баллов)
 
Лучший ответ

(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



оставил комментарий от Архангел (142k баллов)
0 0

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

оставил комментарий от Доцент (53.1k баллов)
0 0

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

оставил комментарий от Архангел (142k баллов)
0 0

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

оставил комментарий от Доцент (53.1k баллов)
0 0

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

оставил комментарий от Архангел (142k баллов)
0 0

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

оставил комментарий от Доцент (53.1k баллов)
0 0

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

оставил комментарий от Архангел (142k баллов)
0 0

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

оставил комментарий от Доцент (53.1k баллов)
0 0

не заметила

оставил комментарий от Начинающий (112 баллов)
0 0

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

оставил комментарий от Начинающий (112 баллов)
0 0

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

...