
//模板开始
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
#include <sstream>
#include <fstream>
#include <map>
#include <set>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include<iomanip>
#define SZ(x) (int(x.size()))
using namespace std;
int toInt(string s){
istringstream sin(s);
int t;
sin>>t;
return t;
}
template<class T> string toString(T x){
ostringstream sout;
sout<<x;
return sout.str();
}
typedef long long int64;
int64 toInt64(string s){
istringstream sin(s);
int64 t;
sin>>t;
return t;
}
template<class T> T gcd(T a, T b){
if(a<0)
return gcd(-a, b);
if(b<0)
return gcd(a, -b);
return (b == 0)? a : gcd(b, a % b);
}
//模板结束(通用部分)
int main(){
string s;
int index;
int total;
while(cin>>s){
total = 0;
for(int i = 0; i < 10; i++){
if(s[i] == '?'){
index = i;
continue;
}else if(s[i] == 'X'){
total += 10 * (10 - i);
continue;
}else{
total += ((int)(s[i] - 48)) * (10 - i);
continue;
}
}
total %= 11;
int temp;
for(temp = 0; temp < 11; temp++){
if(((10 - index) * temp + total) % 11 == 0){
if(temp == 10){
if(index == 9){//注意题目要求只能是最后一位为X
cout<<'X'<<endl;
break;
}else{
cout<<-1<<endl;
break;
}
}else{
cout<<temp<<endl;
break;
}
}
}
if(temp == 11){
cout<<-1<<endl;
}
}
}
本文深入探讨了代码逻辑的解析与优化方法,通过实例分析了如何提高代码效率和可读性。从模板导入、数据类型转换到算法应用,全方位展示了编程中常见问题的解决策略。
1万+

被折叠的 条评论
为什么被折叠?



