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; }

浙公网安备 33010602011771号