0分,995
查看原帖
0分,995
1108007
qqq123456qqq楼主2024/3/16 20:45
#include<stdio.h>
#include<string.h>
char sa[100000];
int a[100000],b[100000],c[100000],qa,q,u,e;
int main(){
	int w;
	scanf("%d%s",&w,&sa);
	qa=strlen(sa);
	for(int i=1;i<=qa;i++){
		if(sa[qa-i]>='A'&&sa[qa-i]<='Z') a[i]=sa[i]-'A'+10;
		else a[i]=sa[qa-i]-'0';
		//printf("%d ",a[i]);
	}
	for(int i=1;i<=30;i++){
		for(int j=1;j<=qa;j++) b[i]=a[qa-i+1];
		for(int j=1;j<=qa;j++){
			c[j]=(a[j]+b[j]+q)%w;
			q=(a[j]+b[j]+q)/w;
		}
		for(int j=1;j<=qa;j++){
			a[j]=c[j];
		}
		e++;
		for(int j=1;j<=qa;j++){
			if(a[j]==a[qa-j+1]) u=2;
			else{
				u=1;
				break;
			}
		}
		q=0;
		if(u==2) break;
	}
	if(e>=30) printf("Impossible!");
	else printf("STEP=%d",e);
	return 0;
}
2024/3/16 20:45
加载中...