大佬求助!实在不会写16进制的转换 第二个点WA
查看原帖
大佬求助!实在不会写16进制的转换 第二个点WA
993122
xiaorunrun520楼主2023/6/22 23:21
#include<bits/stdc++.h>
using namespace std;
int n,ans=0,b[1001],l=1;
char a[1001];
bool huiwen(char x[]){
	for(int i=0,j=l-1;i<=l/2;i++,j--){
		if(x[i] != x[j]) return true;
	}
	return false;
}
int main(){
	cin>>n>>a;
	l = strlen(a);
	int i =0,j=0; 
	while(huiwen(a)){
		l = strlen(a);
		for(i = l-1,j=0;i>=0;i--,j++){
			b[j] = (a[i]-'0') + (a[j]-'0');
		}
		for(int i = 0;i<l;i++){
			if(b[i] >= n){
				b[i] -= n;
				b[i+1] += 1;
				if(i==l-1){
					l++;
					break;
				}
			} 
		}
		for(int i=0;i<l;i++){
			a[i] = b[i] + '0';
		} 
		ans++;
		if(ans>30){
            cout<<"Impossible!";
            return 0;
        }
	}
	cout<<"STEP="<<ans;
	return 0;
}
2023/6/22 23:21
加载中...