首页 > 代码库 > poj 2109 Power of Cryptography

poj 2109 Power of Cryptography

Power of Cryptography
Time Limit: 1000MS Memory Limit: 30000K
Total Submissions: 18408 Accepted: 9292
题目大意  给出两个数n,k
要你求个数ans  ans^n=k
关于题目中的数据范围完全可以用double完爆  没必要用到二分+高精度
但是double类型虽然能表示10^(-307)   ~   10^308, (远大于题意的1<=p<10101这个范围),但只能精确前16位,因此必须慎用
那么为了避免double对输入的数在运算过程中进行精确,那么我们必须让double的运算第一步就得到一个int(即小数点尾数全为0)
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
    double n,m;
    while(cin>>n>>m)
    cout<<pow(m,1/n)<<endl;
    return 0;
}

很短有木有。。。。。。。