题目:
题意:求一个整数k,使得k满足kn=p。
思路:exp()用来计算以e为底的x次方值,即ex值,然后将结果返回。log是自然对数,就是e为底计算的。换底公式 log<a>(b) = log<c>(b) / log<c>(a)。
float 的范围为-2^128 ~ +2^127,也即-3.40E+38 ~ +3.40E+38;
double 的范围为-2^1024 ~ +2^1023,也即-1.79E+308 ~ +1.79E+308
1 #include2 #include 3 int main() 4 { 5 double n,p; 6 while(~scanf("%lf%lf",&n,&p)) 7 { 8 printf("%g\n",pow(p,1.0/n)); 9 }10 return 0;11 }
这题正确的算法本来应该是贪心,二分+高精度。
见博客