您的位置:首页 > 其它

poj 2109 Power of Cryptography (double 精度)

2013-06-26 16:50 435 查看
题目:http://poj.org/problem?id=2109

题意:求一个整数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

#include<stdio.h>
#include<math.h>
int main()
{
double n,p;
while(~scanf("%lf%lf",&n,&p))
{
printf("%g\n",pow(p,1.0/n));
}
return 0;
}


这题正确的算法本来应该是贪心,二分+高精度。

见博客http://www.2cto.com/kf/201212/174001.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: