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;
}
时间: 2024-11-25 10:29:42