31 lines
711 B
Python
31 lines
711 B
Python
# zad 1 - odwrotność w grupie fi
|
|
n = int(input("Podaj n -> fi(n): "))
|
|
b = int(input("Podaj b -> liczbę: "))
|
|
|
|
x = 1
|
|
y = 0
|
|
def eulkides(a, b):
|
|
global x
|
|
global y
|
|
if (b != 0):
|
|
eulkides(b, a % b)
|
|
pom = y
|
|
y = int(x - a // b * y)
|
|
#print("y = {} - {} / {} * {}, x = {}".format(x, a, b, pom, pom))
|
|
x = int(pom)
|
|
|
|
wynik = 0
|
|
found = False
|
|
for i in range(1, n):
|
|
wynik = (i * b) % n
|
|
if wynik == 1:
|
|
x, y = 1, 0
|
|
eulkides(n, wynik)
|
|
if n * x + wynik * y == 1:
|
|
found = True
|
|
wynik = i
|
|
break
|
|
if found:
|
|
print("Liczba odwrotna do {}, to: {}".format(b, wynik))
|
|
else:
|
|
print("Liczba odwrotna nie istnieje") |