AcWing 433. ISBN号码
原题链接
简单
作者:
我要出去乱说
,
2021-02-09 19:06:45
,
所有人可见
,
阅读 374
#include <iostream>
#include <algorithm>
using namespace std;
const int MOD = 11;
int main()
{
string s;
cin >> s;
int sum = 0;
for (int i = 0, j = 1; i < s.size() - 1; i ++ ) //故意不读最后一位
if (s[i] <= '9' && s[i] >= '0') //只计算数字
sum += (s[i] - '0') * j ++ ;
sum %= MOD; //该题不会爆int,算完再取模
char c = 'X'; //巧妙地设一个char用于比较和输出
if (sum < 10) c = '0' + sum;
if (c == s.back()) puts("Right"); //注意这里要用字符与字符比较
else
{
s.back() = c;
cout << s << endl;
}
return 0;
}