题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=3508 /*一开始想用1n 2n到9n直接看能否整除11,结果TLE。很纳闷,看别人才89ms,纸上一画才发现不就是小学算术题吗? a b c 0 + a b c ---------- (a>0) 3 5 3*/ #include <stdio.h> #include <string.h> #define MAXSIZE 1000000 char h1[MAXSIZE+2],h2[MAXSIZE+2]; int len; int main() { int i,jin; int t=0; while(1) { scanf("%s",h1+1); len = strlen(h1+1); if(len==1 && h1[1]=='0') break; for(i=1;i<=len;i++) h1[i] -= '0'; h2[len+1] = 0; for(jin=0,i=len;i>=1;i--) { h2[i] = h1[i] - h2[i+1] - jin; if(h2[i]<0) { h2[i] += 10; jin = 1; } else jin = 0; } if(h2[1]==0) printf("%d. IMPOSSIBLE\n",++t); else { printf("%d. ",++t); for(i=1;i<=len;i++) printf("%d",h2[i]); printf("\n"); } } return 0; }

评论