ccf-201312-2
//校验码
//1.string储存字符串(因为输入的字符串只有一个,且格式一致)
//2.9循环累加数字,求校验码(只计算数字的值,9个数字)
//3.输出结果(对比计算值和初始值,分情况:相同时Right,10和X相同,不同时分开9以内和X)
#include <iostream>
#include <string>
using namespace std;
string a;
int e=0,sum=0;//e额外值变量,sum校验码计算值
int main() {
cin>>a;//输入字符串
for(int i=0; i<9; i++) {//计算sum
if(a[i+e]=='-') {
e++;
i--;
} else {
sum+=(int(a[i+e])-48)*(i+1);
}
}
sum%=11;
int n=int(a[12])-48;
if(n>9){
n=10;
}
if(n==sum) {//计算值和初始值相同
cout<<"Right";
} else {//不同
if(sum==10) {
for(int i=0; i<12; i++) {//为10
cout<<a[i];
}
cout<<"X";
} else {
for(int i=0; i<12; i++) {//9以内
cout<<a[i];
}
cout<<sum;
}
}
return 0;
}