poj 2190(水题,注意校验和的初值是0)

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main(){
    char a[15];
    scanf("%s",a);
    int i,sum,pos;
    sum = 0;
    for(i=0;i<10;i++){
        if(a[i]=='?')pos = i;
        else if(a[i]=='X')sum += 10;
        else sum += (a[i]-'0')*(10-i);
    }
    for(i=0;i<=10;i++){
        if((sum+i*(10-pos))%11==0){
            if(i==10&&pos==9)    printf("X\n");
            else if(i==10&&pos<9)printf("-1\n");
            else                printf("%d\n",i);
            break;
        }
    }
    if(i==11)printf("-1\n");
    return 0;
} 

 

posted @ 2021-07-31 10:07  智人心  阅读(21)  评论(0)    收藏  举报