Wysokie potęgi
Benny: Da się jakoś szybko policzyć 3213(mod 119)?
14 sty 22:47
Benny: Dobra jednak mam
14 sty 22:49
jc: Tak,
a=32
a2, a4, a8, (a8)*(a4)*a, 5 mnożeń, każde modulo 119.
Poniżej masz funkcję w Pythonie, która liczy xt mod n.
W Pythonie można używać dowolnie długich liczb całkowitych, więc n może mieć kilkaset cyfr.
def pot(x, t, n):
y = 1
while t > 0:
if t&1: y = (x*y) % n
x = (x*x) % n
t = t>>1
return y
14 sty 22:54
Adamm: 3213≡32*10246≡32*726≡32*51843≡32*673≡32*67*672≡32*67*86≡15*67≡53 (mod 119)
14 sty 22:58
Benny: Funkcje sam pisałem w C++, ale zastanawiam się jak to będzie się liczyło na egzaminie
14 sty 23:03
Adamm: na kalkulatorze
14 sty 23:03
Benny: Właśnie nie jestem pewny czy będzie można używać
14 sty 23:05
Benny: Ok, gdzie mam błąd?
53
37(mod 119)
53
2 (mod 119)=72
53
5 (mod 119)=100
(53
5)
7*53
2=100
7*72
100
7=18
18*72 (mod 119)=106
14 sty 23:17
Adamm: 1007≡119 93
93*72 ≡119 32
14 sty 23:21
Benny: Ok, znalazłem błąd
14 sty 23:27
Mariusz:
a suwak daje gorsze przybliżenie , inaczej nie przegrałby z kalkulatorem
bo do kalkulatora potrzebne jest zasilanie
Poza tym nie wiem czy pozwoliliby na suwak
14 sty 23:28