1 条题解
-
0陈烨鑫 (chenyexin) LV 10 @ 2023-4-23 13:44:36
#include<bits/stdc++.h> using namespace std; int len; char a[110],b[110]; int n; int check(){ for(int i=0 ; i<len ; i++) if(a[i] != a[len-i-1]) return 0; return 1; } void add(){ for(int i=0 ; i<len ; i++) b[len-i-1] = a[i]; len += 2; for(int i=0 ; i<len ; i++){ a[i] += b[i]; if(a[i] >= n){ a[i+1]++; a[i]-=n; } } while(!a[len-1]) len--; } int main(){ scanf("%d",&n); int step = 0; cin >> a; len = strlen(a); for(int i=0 ; i<len ; i++){ if(a[i] >= '0' && a[i] <= '9') a[i] -= '0'; //将字符转化为数字 else a[i] = a[i] - 'A' + 10; //16进制的情况 } while(!check()){ step++; if(step > 30) break; add(); } if(step <= 30) printf("STEP=%d",step); else printf("Impossible!"); return 0; }
- 1
信息
- ID
- 1201
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 8
- 标签
- 递交数
- 15
- 已通过
- 5
- 上传者