//大数除法(当被除数比除数要小的时候直接取0)
#include<stdio.h> #include<stdlib.h> #include<string.h> #define N 200 int Substract(int num1[],int num2[],int n1,int n2) { int i; if(n1 < n2) return -1; if(n1 == n2) for(i = n1-1; i >= 0; i--) if(num1[i] > num2[i]) break; else if(num1[i] < num2[i]) return -1;//num1比num2小的时候就返回-1 for(i = 0; i < n1; ++i) { num1[i] -= num2[i]; if(num1[i] < 0) { num1[i] += 10; --num1[i+1]; } } for(i = n1-1; i >= 0; --i) if(num1[i] > 0) return i+1; return 0; } int main() { int i,e,j; char s1[N+10],s2[N+10]; int num1[N+10],num2[N+10],num[N+10],n1,n2,n,flag,times; scanf("%d",&n); getchar(); while(n--) { scanf("%s %s",s1,s2); memset(num1,0,sizeof(num1)); memset(num,0,sizeof(num)); memset(num2,0,sizeof(num2)); n1 = strlen(s1); n2 = strlen(s2); if(n1 < n2) { printf("0\n"); continue; } for(i = n1-1,e = -1; i >= 0; --i) num1[++e] = s1[i] - '0'; for(i = n2 -1,e = -1; i >= 0; --i) num2[++e] = s2[i] - '0'; times = n1-n2; if(times > 0) { for(i = n1-1; i >= times; --i) num2[i] = num2[i-times]; for(; i >= 0; --i) num2[i] = 0; n2 = n1; } for(i = 0; i <= times; ++i) { while((flag = (Substract(num1,num2+i,n1,n2-i)))>= 0) { n1 = flag; ++num[times-i]; } } for(i = N; i >= 0&&num[i] == 0; --i); if(i == -1) printf("*0\n"); else {for(; i >= 0; --i) printf("%d",num[i]); putchar(10); } } return 0; }