113. Сила криптографии

 

По заданным числам n ³ 1 и p ³ 1 вычислить значение , положительный  n - ый корень числа p. Известно, что всегда существует такое целое k, что kn = p.

 

Вход. Состоит из последовательности пар чисел n и p, каждое число задается в отдельной строке. Известно, что 1 £ n £ 200, 1 £ p < 10101, 1 £ k £ 109.

 

Выход. Для каждой пары чисел n и p вывести значение .

 

Пример входа

2
16
3
27
7
4357186184021382204544

 

Пример выхода

4
3
1234

 

 

РЕШЕНИЕ

элементарные вычисления

 

Анализ алгоритма

Известно, что  =  =  = . В соответствии с ограничениями на числа n, p и k достаточно присвоить этим переменным тип double и вычислить  , что в языке С будет записано как exp(log(p)/n).

 

Пример

Рассмотрим третий тест:   = 1234.

 

Реализация алгоритма

Читаем в цикле (пока не конец файла) значения n и p, вычисляем и печатаем значение .

 

  while(scanf("%lf %lf",&n,&p) == 2)

  {

    res = exp(log(p)/n);

    printf("%.0lf\n",res);

  }