算法知识点: 字符串处理,模拟
复杂度:
解题思路:
按照题目中给定的规则,计算出识别码,再判断是否与给定的识别码相同:
- 如果相同,输出 "Right";
- 如果不同,输出 正确的字符串。
C++ 代码:
#include <iostream> #include <algorithm> using namespace std; int main() { string str; cin >> str; int sum = 0; for (int i = 0, j = 1; i + 1 < str.size(); i ++ ) if (str[i] != '-') { sum += (str[i] - '0') * j; j ++ ; } sum %= 11; char c = 'X'; if (sum < 10) c = '0' + sum; if (c == str.back()) puts("Right"); else { str.back() = c; cout << str << endl; } return 0; }