警钟敲碎
查看原帖
警钟敲碎
1167566
lizicl楼主2025/1/6 18:06

注意X的处理哦(我就忽略了。。)! code:

#include<bits/stdc++.h>
using namespace std;
int main(){
	string s;
	cin>>s;
	string t="";
	for(int i=0;i<s.size();i++){
		if(s[i]!='-'){
			t+=s[i];
		}
	}
//	cout<<t;
	int cnt=0;
	int a[t.size()+5];
	for(int i=0;i<t.size()-1;i++){
		a[i]=t[i]-48;
		cnt+=a[i]*(i+1);
	}
//	cout<<cnt<<endl
	int tmp=cnt%11;
	char c;
	if(tmp==10){
		c='X';
	}
	else{
		c=tmp+48;
	}
//	cout<<t[t.size()-1]<<" "<<c<<"       ";
//	cout<<s[s.size()-1]<<" "<<c<<"      ";
//	cout<<s<<" "<<t<<endl;
	if(c==t[t.size()-1]){
		cout<<"Right";
	}
	else{
		s[s.size()-1]=c;
		cout<<s;
	}
}
//6-670-82162-X
//Right

注意最后一个样栗🌰

2025/1/6 18:06
加载中...