警钟敲碎

P1055 [NOIP2008 普及组] ISBN 号码

lizicl @ 2025-01-06 18:06:58

注意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

注意最后一个样栗🌰


|