Для того чтобы проверить, как ее ученики умеют считать, Мария Ивановна каждый год задает им на дом одну и ту же задачу – «Для заданного натурального A найти минимальное натуральное N такое, что N в степени N (N, умноженное на себя N раз) делится на A». Из года в год и от ученика к ученику меняется только число A. Вы решили помочь будущим поколениям. Для этого вам необходимо написать программу, решающую эту задачу Формат входных данных. Во входном файле содержится единственное число A (1 A 109). Формат выходных данных. В выходной файл вывести единственное число N. Примеры. input.txt output.txt 8 4 13 13 Имя входного файла input.txt. Имя входного файла output.txt. Максимальное время работы на одном тесте – 2 сек. Максимальное время работы на одном тесте – 2 сек. Максимальный объем используемой памяти 32 мегабайта
# Чтение входных данных with open("input.txt", "r") as file: A = int(file.readline().strip()) # Функция для проверки деления N в степени N на A def check_divisibility(N, A): return pow(N, N, A) == 0 # Поиск минимального значения N N = 1 while True: if check_divisibility(N, A): break N += 1 # Запись результата в выходной файл with open("output.txt", "w") as file: file.write(str(N))
После запуска данной программы с указанным примером входных данных, в файле output.txt будет содержаться число 4.
with open("input.txt", "r") as file:
A = int(file.readline().strip())
# Функция для проверки деления N в степени N на A
def check_divisibility(N, A):
return pow(N, N, A) == 0
# Поиск минимального значения N
N = 1
while True:
if check_divisibility(N, A):
break
N += 1
# Запись результата в выходной файл
with open("output.txt", "w") as file:
file.write(str(N))
После запуска данной программы с указанным примером входных данных, в файле output.txt будет содержаться число 4.