2 solutions

  • 4
    @ 2024-3-10 16:27:32
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        string a;
        cin>>a;
        int t=0;
        int c=1;
        int n=a.size();
        for(int i=0;i<n-1;i++)
        {
            if(a[i]>='0'&&a[i]<='9')
            {
                t=t+(a[i]-'0')*c; //累加 
                c++;//增加乘 
            }   
        } 
        int q=t%11;//计算余数 
        if(q==10&&a[n-1]=='X'||q==a[n-1]-'0') cout<<"Right";   //正确匹配 
        else
        {
            if(q==10)
            {
                a[n-1]='X';//最后余数10为x 
            }
            else
            {
                a[n-1]=q+'0'; //更改成正确的数字 
            }
            cout<<a;
        }
        return 0;
    }
    
    • 0
      @ 2025-8-22 13:59:33
      #include<bits/stdc++.h>
      using namespace std;
      string s; 
      int main(){
      	cin>>s;
      	int n=s.size();
      	int cnt=0;
      	cnt=cnt+s[1]*1;
      	for(int i=1;i<n;i++){
      		if(s[i]=='-'){
      			continue;
      		}else{
      			cnt=cnt+s[i]*2;
      		}
      	}
      	int k=cnt%11;
      	char X; 
      	if(cnt%11==10){
      		X='X';
      	}
      	if(s[n-1]==k||s[n-1]==X){
      		cout<<"Right";
      	}else{
      		s[n-1]=k;
      		for(int i=0;i<n;i++){
      			cout<<s[i];
      		}
      	}
      	return 0;
      }
      
      
      • 1

      Information

      ID
      102
      Time
      1000ms
      Memory
      256MiB
      Difficulty
      5
      Tags
      (None)
      # Submissions
      137
      Accepted
      24
      Uploaded By