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;
    }
    
    • 1
      @ 2026-5-5 11:49:14
      #include<bits/stdc++.h>
      using namespace std;
      int main()
      {
          string s;cin>>s;
          int t=0,c=1;
          int n=s.size();
          for(int i=0;i<n-1;i++)
          {
              if(s[i]<='9'&&s[i]>='0')
              {
                  t=t+(s[i]-'0')*c;
                  c++;
              }
          }
          int sum=t%11;
          if(sum==10&&s[n-1]=='X'||s[n-1]-'0'==sum) 
          {
              cout<<"Right";
          }
          else
          {
              if(sum==10)
              {
                  s[n-1]='X';
              }
              else 
              {
                  s[n-1]=sum+'0';
              }
              cout<<s;
          }
          return 0;
      }
      
      • 1

      Information

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