P10320 勇氣(Courage)

纯粹的發表於2024-04-15

原題連結

題解

請看這

我補充一點:由於 \(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;
}

相關文章