Введение в теорию чисел. 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)

Слишком долго...в чём ошибки. Подскажите,пожалуйста.


Ответы (0 шт):