這個題可以用高精度算法寫,套模闆吧。
為什麼把它歸類到貪心。
這題其實最大漏洞就在于k的範圍被限制在了1<=k<=10^9内。
double的有效數字是15~16位,也就是說将p塞進double誤差率在10^-15數量級左右。而開n次根号誤差率是隻會減小不會增大的,塞回double誤差率仍然是10^-15左右的數量級。而答案隻可能有9位有效數字,顯然這個誤差率隻會影響到小數部分而不會對整數部分有影響,四舍五入之後就能得到結果。
作者:Gomo Psivarh
ac代碼:
#include <iostream>
#include <math.h>
using namespace std;
int main(){
double a,b,c;
while(cin>>a>>b){
if(a==0){
break;
}
cout<<pow(b,1/a)<<endl;
}
return 0;
}