from gmpy2 import mpz a = input("Podaj podstawę (b): ") b = input("Podaj wykładnik (k): ") n = input("Podaj moduł (n): ") a = mpz(a) b = mpz(b) n = mpz(n) wynik = mpz(1) baza = a % n for i in range(b.bit_length()): if b.bit_test(i): wynik = (wynik * baza) % n baza = (baza * baza) % n print(f"Wynik: {wynik}")