Для того чтобы проверить, как ее ученики умеют считать, Мария Ивановна каждый год задает им на дом одну и ту же задачу – «Для заданного натурального 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 мегабайта

12 Сен 2019 в 02:43
545 +1
0
Ответы
1
# Чтение входных данных
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.

20 Апр 2024 в 01:33
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир