#include<bits/stdc++.h>
#define Max 100005
using namespace std;
int main()
{
int T;
cin>>T;
while(T--)
{
string a;
char s[Max];
cin>>a;
int b;
cin>>b;
long long sum=0;
//long long c;
for(int i=0;a[i];i++)
{
sum=sum*10+a[i]-'0';
s[i]=sum/b+'0';
sum=sum%b;
}
int j=0;
while(s[j]=='0')
j++;
for(;j<a.size();j++)
cout<<s[j];//商
cout<<endl;
cout<<sum<<endl;//余数
}
return 0;
}
/*
for(i = 0; i < len1; i++){
b = b * 10 + num1[i] - '0';
num3[i] = b / d + '0';
b = b % d;
}
这个实际上就是笔算的原理,比如,128 / 12, 我们笔算的时候,
先计算 1 / 12, 此时的b = 1, num3[0] = 0, b % d = 1;
然后 b = 1 * 10 + 2 = 12, 所以相当于 12 / 12, num3[1] = 1, b % d = 0;
最后 b = 8, num3[2] = 0, b % d = 8;
所以商为10,余数为8,而余数也就是模,所以如果说求模,就必须理解好这两步的反复执行:
b = b * 10 + num1[i] - '0'; 这是b在与要看的下一位组成一个新的数字
b = b % d; 这可以理解为b除以d之后的余数,所以既然能求出商,自然最后循环的结果也就能求出
*/
01-01
01-27