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

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

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

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

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

Выведите число N.

Карина9653 Карина9653    1   14.07.2021 20:15    30

Ответы
ksyutitova2017p0bhz4 ksyutitova2017p0bhz4  13.08.2021 21:23

#include <iostream>

#include <math.h>

int f(int a)

{

for (int n = 1; n <= a; n++)

{

double b = (double)a / n;

if ((int)b == b)

{

b = pow(n, n) / a;

if ((int)b == b)

return n;

}

}

return a;

}

int main(int argc, char *argv[])

{

int a;

std::cin >> a;

std::cout << f(a);

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика