Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
41110 | DUANZHIBO | 回文数 | C++ | 解答错误 | 1 MS | 252 KB | 663 | 2024-02-19 12:03:29 |
#include<iostream> #include<cstring> using namespace std; bool air(char c[]) { for(int i=0;i<strlen(c);i++){ if(c[i]!=c[strlen(c)-1-i])return 0; } return 1; } int main() { int n,step=0; char a[101],b[110]; cin>>n; cin>>a; int len=strlen (a); while(air(b)==0&&step<=30){ int x=0; for(int i=0;i<len;i++){ b[i]=(a[i]-'0'+a[len-1-i]-'0'+x)%n; x=(a[i]-'0'+a[len-1-i]-'0')/n; } if(x>0)b[len++]=x; for(int i=0;i<len;i++){ a[i]=b[i]+'0'; } step++; for(int i=0;i<len;i++){ cout<<(char)(b[i]+'0'); } cout<<endl; } if(step<=30)cout<<"STEP="<<step<<endl; else cout<<"Impossible!"; return 0; }