AcWing 433. ISBN号码
原题链接
简单
作者:
HiCode_001
,
2019-11-06 13:30:25
,
所有人可见
,
阅读 664
题意分析:
根据题意,处理字符串相应位,比较计算结果是否相等
1)相等输出"Right"
2)不相等输出正确码
考察知识点
字符串处理
时间复杂度O(n) 每个字符处理一次
思路分析:
1)读入字符串,处理每一个字符转化为数字
2)计算最后一位的值
3)比较是否相等,注意处理模为10的情况
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main(){
string str;
int sum = 0;
cin >> str;
for(int i = 0,j=1; i<str.size(); i++){
if(str[i]!='-'&&i!=12){
sum +=(str[i]-'0')*j;
j++;
}
}
sum %=11;
char c = 'X';
if(sum<10) c = sum+'0';
if(str[12]==c) puts("Right");
else{
str[12] = c;
cout << str;
}
return 0;
}