http://acm.hdu.edu.cn/showproblem.php?pid=2714

水,按要求找到符合要求的解。。

View Code
#include <iostream>
using namespace std ;
int main()
{
    char str[30] ;
    int i ;
    while(~scanf("%s",str))
    {
        int cnt=0 ;
        int pos ;
        for(i=0;str[i];i++)
            if(str[i]=='X')
                cnt+=10 ;
            else if(str[i]=='?')
                pos=i ;
            else
                cnt+=(10-i)*(str[i]-'0') ;
        if((cnt+10)%11==0)
        {
            puts("X") ;
            continue ;
        }
        for(i=0;i<=9;i++)
            if(((10-pos)*i+cnt)%11==0)
            {
                printf("%d\n",i) ;
                break ;
            }
        if(i==10)
            puts("-1") ;
    }
    return 0 ;
}