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;
}
很短有木有。。。。。。。