题目链接:http://poj.org/problem?id=2109
题意分析:有指数函数 k^n=p,其中k,n,p均为整数且1<=k<=10^9,1<=n<=200,1<=p<=10^101
给定n和p,求底数k
解题思路:float的范围是-2^128~2^128也即-3.40e+38~3.40e+38;double的范围是-2^1024~2^1024也即-1.79e+308~1.79e+308.可用公式法求解。
k^n=p k=对p开n次方 等价于求p的1/n次方,此时我们可以用pow函数求解:k=pow(p,1.0/n)
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<string>
#include<iostream>
#include<cmath>
using namespace std;
int main ()
{
double n,k,p;
while(cin>>n>>p){
k=pow(p,1.0/n);
cout<<k<<endl;
}
}