Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная 3 / Болтушкин Л.С., группа 712-2, лабораторная 3.docx
Скачиваний:
1
Добавлен:
31.10.2025
Размер:
879.71 Кб
Скачать

Приложение г

(обязательное)

Листинг программы теста Ферма

def fermat_test(number_to_test, base):

if number_to_test <= 3:

return "Введите число больше 3"

if base <= 1 or base >= number_to_test:

return f"Основание должно быть в диапазоне от 2 до {number_to_test - 1}"

result = pow(base, number_to_test - 1, number_to_test)

if result == 1:

return f"{number_to_test} — возможно простое (при основании = {base})"

else:

return f"{number_to_test} — составное (при основании = {base})"

try:

number_to_test = int(input("Введите число для проверки (больше 3): "))

base = int(input(f"Введите основание (2 ≤ основание < {number_to_test}): "))

print(fermat_test(number_to_test, base))

except ValueError:

print("Ошибка: введите целые числа.")

Приложение д

(обязательное)

Листинг программы возведения числа в степень по модулю

def mod_pow(a, b, m):

result = 1

a = a % m

while b > 0:

if b % 2 == 1:

result = (result * a) % m

a = (a * a) % m

b = b // 2

return result

a = int(input("число, которое нужно возвести 'a': "))

b = int(input("значение степени 'b': "))

m = int(input("модуль 'mod': "))

result = mod_pow(a, b, m)

print("Результат возведения в степени:", result)

Соседние файлы в папке Лабораторная 3