(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
C case Var a:integer; Begin Write('Введите число от 5 до 9: '); readln(a); case a of 5:writeln('Вы ввели число "пять"'); 6:writeln('Вы ввели число "шесть"'); 7:writeln('Вы ввели число "семь"'); 8:writeln('Вы ввели число "восемь"'); 9:writeln('Вы ввели число "девять"') end;
readln End.
С if Var a:integer; Begin Write('Введите число от 5 до 9: '); readln(a); if a=5 then writeln('Вы ввели число "пять"'); if a=6 then writeln('Вы ввели число "шесть"'); if a=7 then writeln('Вы ввели число "семь"'); if a=8 then writeln('Вы ввели число "восемь"'); if a=9 then writeln('Вы ввели число "девять"');
Предположим, что первый свидетель соврал, что автобус - первый, и сказал правду, что маршрутка - вторая. Тогда для третьего свидетеля - утверждение про автобус - ложь (так как вторым выехала маршрутка), значит третьим выехал легковой автомобиль. Тогда оба утверждения второго свидетеля являются ложью (у него легковой автомобиль - четвёртый на перекрестке, грузовик - второй, в у нас получилось легковой автомобиль - третий, в маршрутка - вторая). Получили противоречие. Значит, первый свидетель сказал правду, что автобус первый и соврал про маршрутку. Тогда из утверждений третьего свидетеля следует, что легковой автомобиль - третий. Из второго свидетеля следует, что грузовик - второй. Тогда маршрутке остаётся четвёртое место. ответ: АГЛМ
т.е.
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