1 条题解

  • 0
    @ 2025-7-10 11:25:37
    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
    	string isbn;
    	cin >> isbn;
    	int sum = 0;
    	int digitIndex = 1;
    	for (int i = 0; i < isbn.size() - 1; ++i) {
    		if (isbn[i] == '-') {
    			continue;
    		}
    		sum += (isbn[i] - '0') * digitIndex;
    		digitIndex++;
    	}
    	char correctCheck;
    	int mod = sum % 11;
    	if (mod == 10) {
    		correctCheck = 'X';
    	} else {
    		correctCheck = mod + '0';
    	}
    	char inputCheck = isbn.back();
    	if (inputCheck == correctCheck) {
    		cout << "Right" << endl;
    	} else {
    		isbn.back() = correctCheck;
    		cout << isbn << endl;
    	}
    	
    	return 0;
    }
    
    • 1

    【深基3.例12】[NOIP2008 普及组] ISBN 号码

    信息

    ID
    689
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    6
    已通过
    3
    上传者