POJ 2109 Power of Cryptography
看题传送门:http://poj.org/problem?id=2109
题目大意:
给定整数n和p求一个k使得k ^n = p.(1<=n<= 200, 1<=p<10^101)
看到p那么大。
常规思路是二分+高精度。
但是有巧妙的方法!!!!
double可以表示的范围10^(-307) ~ 10^308。
可以直接调用pow函数。。求K
给大神跪了,一行解决。。。
#include<cstdio> #include<cmath> int main() { double n,p; while(scanf("%lf%lf",&n,&p)!=EOF) { printf("%.0lf\n",pow(p,1.0/n)); } }
新 blog : www.hrwhisper.me