题意:给出两个数字n,p,求k使得k的n次方等于p。
题目中p的值很大,容易想到的是二分求k,使用高精度,在看了别人的题解后,才知道这里可以用double型代替高精度,于是代码就变得十分简单
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
int main()
{
//freopen("in.txt","r",stdin);
double n,p;
while(scanf("%lf%lf",&n,&p)!=EOF)
{
printf("%.0lf\n",pow(p,1/n) );
}
}