8 solutions

  • 0
    @ 2023-10-14 21:47:03
    #include<iostream>
    using namespace std;
    int main(){
      int n;
      cin>>n;
      char arr[18];
      int a[17];
      for(int i=0;i<n;i++){
        int sum=0;
        cin>>arr;
        for(int j=0;j<17;j++){
          a[j]=arr[j]-48;//字符型变量可以当成整型用,0~9作为字符对应的ASCII码是48~57
        }
        sum=a[0]*7+a[1]*9+a[2]*10+a[3]*5+a[4]*8+a[5]*4+a[6]*2+a[7]*1+a[8]*6+a[9]*3+a[10]*7+a[11]*9+a[12]*10+a[13]*5+a[14]*8+a[15]*4+a[16]*2;
        sum%=11;//把和转化成余数了
        if(arr[17]=='X'){
          if(sum==2)cout<<"True"<<endl;
          else cout<<"False"<<endl;
        }
        else{
          if(arr[17]-48==(12-sum)%11)cout<<"True"<<endl;
          else cout<<"False"<<endl;
        }
      }
      return 0;
    }
    

    Information

    ID
    41
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    8
    Tags
    # Submissions
    1800
    Accepted
    230
    Uploaded By