C++ 106全國賽 2. 自戀數

直接用字串轉數字配合題目敘述即可

#include<bits/stdc++.h>
using namespace std;

int main(){
    ios::sync_with_stdio(0);cin.tie(0);

    int base[15][10];
    for(int i=0;i<12;i++){
        base[i][0]=1;
        for(int j=1;j<10;j++){
            base[i][j]=base[i][j-1]*i;
        }
    }

    string N;
    int b,n=0,sum=0;
    cin>>b>>N;
    for(int i=0;i<N.size();i++){
        n*=b;
        n+=N[i]-'0';
        sum+=base[(N[i]-'0')][N.size()];
    }
    string ans=(n==sum)?"YES":"NO";
    cout<<ans<<"\n";
    return 0;
}

題目出處:https://zerojudge.tw/ShowProblem?problemid=c459

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *