1. 题目要求
2. 解答
2.1 模拟
#include <iostream>
using namespace std;
int main()
{
string str;
cin >> str;
int cnt = 0;
int sum = 0;
string res = str;
int len = str.size();
for(int i = 0; i < len - 1; i ++) {
char& ch = str[i];
if(ch >= '0' && ch <= '9') {
cnt ++;
sum += (ch - '0') * cnt;
}
}
if(sum % 11 != 10 && sum % 11 != (str[len - 1] - '0')) {
str[len - 1] = '0' + sum % 11;
cout << str;
return 0;
}
if(sum % 11 == 10 && str[len -1] != 'X') {
str[len - 1] = 'X';
cout << str;
return 0;
}
puts("Right");
return 0;
}
3. 总结
这一题是模拟题,根据要求,先得到前9个数字的计算结果,再将这个结果模11与最后一位比较即可。