天天看點

貪心poj2109

這個題可以用高精度算法寫,套模闆吧。

為什麼把它歸類到貪心。

這題其實最大漏洞就在于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;
}