AcWing 433. ISBN号码
原题链接
简单
作者:
czawa
,
2021-10-01 20:31:18
,
所有人可见
,
阅读 204
#include <bits/stdc++.h>
using namespace std;
int main() {
int i = 0;
string s;
cin >> s;
vector <int> a;
auto backup = s[0];
for (auto v : s)
if (v == '-')
continue;
else
a.push_back(v - '0');
a.pop_back();
int ans = 0;
for (auto v : a)
ans = (ans + (++i) * v) % 11;
i = 0;
char ch = s.at(12);
string rg = "Right";
if (ans == 10) {
if (ch == 'X')
s.assign(rg);
else
s[12] = 'X';
} else {
if (ans == 10 && ch != 'X')
s[12] = 'X';
else if (ans == 10 && ch == 'X')
s.assign(rg);
else if (ans != 10 && ch == 'X')
s[12] = ans + '0';
else if (ans == ch - '0')
s.assign(rg);
else
s[12] = ans + '0';
}
cout << s << endl;
return 0;
}