Int最大是10^9.所以一般思路是二分+高精度、但是double 范围是10^(-307)-10^308所以可以用double型。k^n=p.所以有k=p^(1/n)。

见代码:

#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
#include<math.h>

int main()
{
     double n, p;
     while(cin >> n >> p)
     {
         double k;
         k = pow(p, 1.0/n);
         cout << k << endl;
     }
     return 0;
}

posted on 2015-07-20 15:45  小小八  阅读(173)  评论(0编辑  收藏  举报