题目地址:1129. ISBN
思路:
这道题比较简单,只要看懂题目就应该可以了。那就解释下题目好了,题目意思是按照权值计算这10个数字和,依据这个和计算还差多少可以对11整除,若还差10,那么在这个结尾加上“-X”,若不是10则输出“-”加上还差多少可以整除的那个数。
具体代码如下:
#include <iostream>
#include <string>
using namespace std; int Sum(string x) {
int sum = ;
int weight = ;
for (int i = ; i < x.size(); i++) {
if (x[i] >= ''&&x[i] <= '') {
sum += (x[i]-'')*(weight--);
}
}
return sum;
} int main() {
string test;
while (cin >> test) {
int sum = Sum(test);
int check_digit = sum% == ? : -sum%;
check_digit == ? cout << test << "-X\n"
: cout << test << "-" << check_digit << endl;
} return ;
}