P10320 勇气(Courage)

原题链接

题解

请看这

我补充一点:由于 \(x\leqslant 2\)\(n\leqslant 2\) 很明显不对劲,所以要特判一下
二点:像这种看起来需要模拟来找答案的不妨手推一下数学式子来找答案

code

#include<bits/stdc++.h>
using namespace std;
int main()
{
    double x,n;
    cin>>x>>n;
    if(x==1&&n>0||x==2&&n>2) puts("inf");
    else if(x==1&&n==0||x==2&&n==1) puts("0");
    else if(x==2&&n==2) puts("1");
    else
    {
        cout<<ceil(log2((n-(double)2.0)/(log2(x)-(double)1.0)));
    }

    return 0;
}

posted @ 2024-04-15 18:02  纯粹的  阅读(17)  评论(0)    收藏  举报