第一篇文章。。神奇的ACM开始了啊啊啊。我是来打酱油的。
题目大意:k^n=p,给n和p,求k。数据规模:1<=n<=200,1<=p<10101,
1<=k<=109
。
pow(x,y);第一次用这个函数,需要包含头文件<cmath>,其作用是计算x的y次方。x、y及函数值都是double型。这个题很神奇的一点在于,求指数k除了使用对数log,还能使用指数的倒数开n次方,这时就可以用pow函数了。
另外,double类型能表示10^(-307) ~ 10^308,(远大于题意的1<=p<10101这个范围),所以这个题可以将变量定义成double,从而不用高精度计算。
#include<iostream> #include<cmath> using namespace std; double n,p; int main() { while(cin >>n>>p) cout <<pow(p,1.0/n)<<endl; return 0; }
代码实在是太简单了。。但是方法确实很神奇!