Информатика, вопрос задал mirhome2016 , 7 лет назад

Для того чтобы проверить, как её ученики умеют считать, Мария Ивановна каждый год задаёт им на дом одну и ту же задачу – для заданного натурального A найти минимальное натуральное N такое, что N в степени N (N, умноженное на себя N раз) делится на A. От года к году и от ученика к ученику меняется только число A.

Вы решили помочь будущим поколениям. Для этого вам необходимо написать программу, решающую эту задачу.

Входные данные

Во входном файле содержится единственное число A (1 ≤ A≤ 1000000000 – на всякий случай; вдруг Мария Ивановна задаст большое число, чтобы "завалить" кого-нибудь…).

Выходные данные

В выходной файл вывести единственное число N.


Лимит времени 1 секунда

Лимит использования памяти 64 MiB
Входные данные
Sample 1
8

Sample 2
13
Выходные данные
Sample 1
4

Sample 2
13

Ответы на вопрос

Ответил srzontmp
0

Решение на скрине и в текстовом файле. Файл inpu.txt создавать в том же каталоге, что и программа.

Приложения:
Ответил asiyatsheykhova
0
Я немного исправила а так молодец все правильно решение - класс
A=int(input());
M=1;
B=A;
N=2;
K=1;
while B>1:
if B%N==0:
if N>K:
K=N;
M*=K;
B/=N;
N=2;
else: N+=1;
N=0;
B=1;
if M==A: N=M;
else:
while B%A!=0:
N+=M;
B=N**N;
print(N)
Ответил srzontmp
0
; во всех строках (где есть) можно убрать. В задании ввод из файла, вывод в файл.
Новые вопросы