A除以B (PATB-1017)
题面
本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。
输入
输入在一行中依次给出 A 和 B,中间以 1 空格分隔。
输出
在一行中依次输出 Q 和 R,中间以 1 空格分隔。
样例输入
1123456789050987654321 7
样例输出
117636684150141093474 3
提示
无
思路
代码
1const int mxn = 1e5 + 5;
2char a[mxn];
3int b;
4
5int main()
6{
7 scanf("%s %d", a, &b);
8 int len = strlen(a), t = 0;
9 for (int i = 0; i < len; i++)
10 {
11 t = t * 10 + a[i] - '0';
12 if (i || t / b || len <= 1)
13 printf("%d", t / b);
14 t %= b;
15 }
16
17 printf(" %d\n", t);
18 return 0;
19}