#include #include #define M 1000005 char s1[M],s2[M]; int a[M]; void ss(int m)//减运算 { int i=0,j; while(1) { if(s1[i]=='0') i++; else { j=i; break; } } for(; i j; i--) if(s1[i]<'0') { s1[i]+=10;; s1[i-1]--; } } int main() { int i,j,k,n,m; while(~scanf("%s%s",s1,s2)) { n=strlen(s1); m=strlen(s2); if(n <0)//特殊情况判断 { printf("0 余数=");//求余数 for(i=0; i =0)//一直进行减法,直到不能减为止 { ss(m); a[k]++; } k++; if(n==m) break; for(i=m-1; i>=0; i--) //在s2前面补0,以便进行减法运算 s2[i+1]=s2[i]; s2[0]='0'; m++; s2[m]='\0';//strcmp()函数遇到字符'\0'结束 } i=0; while(a[i]==0) i++;//去除前导0 for(; i