蓝桥杯 计算方程

总结:求幂次,就是log(b) / log(a),b是结果,a是底数。
二分的时候注意终止条件是l < r

int k, m;
inline double cal(long long x){
    return sqrt(double(x)) + int((log(x) / log(k))) - m;
}

void solve(){
    cin >> k >> m;

    long long l = 1, r = 1e9;
    while (l < r){
        long long mid = (l + r) >> 1;
        if (cal(mid) > 0){
            r = mid;
        }
        else{
            l = mid + 1;
        }
    }
    cout << l <<  '\n';
}
posted @ 2024-04-04 13:30  _Yxc  阅读(21)  评论(0)    收藏  举报