Введение в теорию чисел. Python. Степень. Задача
Для того чтобы проверить, как её ученики умеют считать, Мария Ивановна каждый год задаёт им на дом одну и ту же задачу — для заданного натурального A найти минимальное натуральное N такое, что N в степени N (N, умноженное на себя N раз) делится на A. От года к году и от ученика к ученику меняется только число A.
Вы решили помочь будущим поколениям. Для этого вам необходимо написать программу, решающую эту задачу. Входные данные
Во входном файле содержится единственное число A (1≤A≤10**9 — на всякий случай; вдруг Мария Ивановна задаст большое число, чтобы «завалить» кого-нибудь…).
Выходные данные
В выходной файл вывести единственное число N.
Примеры Ввод 8...1 Вывод 4...1
Вот моя программа:
A = int(input())
if A % 2 != 0:
print ("1")
else:
for i in range(0,A):
A+=1
if (A**A)%A == 0:
print (A // 4)
Слишком долго...в чём ошибки. Подскажите,пожалуйста.