POJ(PKU) 2190 ISBN
問題文ちゃんと読もうな。
#include <cstdio> #include <iostream> using namespace std; int main(){ char d[11]; scanf("%s",&d); int k; int sum = 0; for(int i = 0;i < 10;i++){ if(d[i] == '?'){ k = 10 - i; }else if(d[i] == 'X'){ sum += 10 * (10 - i); }else{ int n = d[i] - '0'; sum += n * (10 - i); } } int ans = -1; for(int i = 0;i <= 9;i++){ if((i * k + sum) % 11 == 0){ ans = i; break; } } if((sum + 10) % 11 == 0 && k == 1) ans = 10; if(ans == 10){ printf("X\n"); }else{ printf("%d\n",ans); } return 0; }