CSP歷年複賽題-P1055 [NOIP2008 普及組] ISBN 號碼

江城伍月發表於2024-05-27

原題連結:https://www.luogu.com.cn/problem/P1055

題意解讀:驗證ISBN最後一位是否正確。

解題思路:直接模擬,不多說,上程式碼。

100分程式碼:

#include <bits/stdc++.h>
using namespace std;

int main()
{
    string s;
    cin >> s;
    int code = 0;
    int cnt = 0;
    for(int i = 0; i < s.size() - 1; i++)
    {
        if(s[i] >= '0' && s[i] <= '9')
        {
            code += (s[i] - '0') * (++cnt);
        }
    }
    code %= 11;
    
    char res = code + '0';
    if(code == 10) res = 'X';

    if(s[s.size() - 1] == res) cout << "Right";
    else 
    {
        s[s.size() - 1] = res;
        cout << s;
    }
}

相關文章