问题标题: 酷町堂:关于5235

0
0
已解决
黄依成
黄依成
中级天翼
中级天翼

my WA90 code:

#include<iostream>
#include<cstring>
#include<string>
using namespace std;
int n,a[105],b[105],c[105],cnt;
string m;
string Plus(string x,string y,int t){
    memset(a,0,sizeof(a));
    memset(b,0,sizeof(b));
    memset(c,0,sizeof(c));
    a[0]=x.size(),b[0]=y.size(),c[0]=max(a[0],b[0]);
    for(int i=1;i<=a[0];i++) a[i]=x[a[0]-i]-'0';
    for(int i=1;i<=b[0];i++) b[i]=y[b[0]-i]-'0';
    int jw=0;string ans="";
    for(int i=1;i<=c[0];i++){c[i]=a[i]+b[i]+jw,jw=c[i]/t,c[i]%=t;}
    if(jw>0){c[0]++,c[c[0]]=jw;}
    for(int i=1;i<=c[0];i++) ans=char(c[i]+'0')+ans;
    return ans;
}
string ds(string x){
    string sum="";
    for(int i=x.size();i>=0;i--) sum=sum+x[i];
    return sum.erase(0,1);
}
bool hw(string x){
    return ds(x)==x;
}
int main(){
    cin>>n>>m;
    while(!hw(m)){
        m=Plus(ds(m),m,n);
        cnt++;
        if(cnt>=30) break;
    }
    if(cnt>=30) cout<<"Impossible!";
    else cout<<"STEP="<<cnt; 
    return 0;
}

help!


0
0
我要回答