ccfcsp201312-2 ISBN号码

注意:50分 -- u=10,最后一位为'X'

代码:

#include <bits/stdc++.h>
using namespace std;
string s;
int a[12];
int main()
{
    cin >> s;
    a[1] = s[0] - '0';
    a[2] = s[2] - '0';
    a[3] = s[3] - '0';
    a[4] = s[4] - '0';
    a[5] = s[6] - '0';
    a[6] = s[7] - '0';
    a[7] = s[8] - '0';
    a[8] = s[9] - '0';
    a[9] = s[10] - '0';
    long long int u = 0;
    for (int i = 1; i <= 9; i++)
    {
        u = (u + a[i] * i) % 11;
    }
    if ((u == s[12] - '0') || (u == 10 && s[12] == 'X'))
    {
        cout << "Right";
    }
    else
    {
        if (u != 10)
        {
            cout << a[1] << "-" << a[2] << a[3] << a[4] << "-" << a[5] << a[6] << a[7] << a[8] << a[9] << "-" << u;
        }
        else
        {
            cout << a[1] << "-" << a[2] << a[3] << a[4] << "-" << a[5] << a[6] << a[7] << a[8] << a[9] << "-" << 'X';
        }
    }
}

上一篇:【创建型模式】原型模式


下一篇:Django中间件的源码解析流程(上)——中间件载入的前置