【题解】PATB-1017 A除以B

A除以B (PATB-1017)

题面

本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。

输入

输入在一行中依次给出 A 和 B,中间以 1 空格分隔。

输出

在一行中依次输出 Q 和 R,中间以 1 空格分隔。

样例输入

1
123456789050987654321 7

样例输出

1
17636684150141093474 3

提示

思路

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const int mxn = 1e5 + 5;
char a[mxn];
int b;

int main()
{
scanf("%s %d", a, &b);
int len = strlen(a), t = 0;
for (int i = 0; i < len; i++)
{
t = t * 10 + a[i] - '0';
if (i || t / b || len <= 1)
printf("%d", t / b);
t %= b;
}

printf(" %d\n", t);
return 0;
}