题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805305181847552
题目描述
本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。
输入
输入在一行中依次给出 A 和 B,中间以 1 空格分隔。
输出
在一行中依次输出 Q 和 R,中间以 1 空格分隔。
样例输入
123456789050987654321 7
样例输出
17636684150141093474 3
代码
#include <cstdio>
int main() {
int b, r = 0, t = 0, temp;
char a[1001], q[1001];
scanf("%s %d", a, &b);
for(int i = 0; a[i] != '\0'; i++) {
temp = r * 10 + (a[i] - '0');
if(temp >= b) {
q[t++] = '0' + temp / b;
r = temp % b;
}
else {
q[t++] = '0';
r = temp;
}
}
q[t] = '\0';
int flag = 0;
for(int i = 0; i < t; i++) {
if(flag == 0 && q[i] == '0' && t != 1)
continue;
printf("%c", q[i]);
flag = 1;
}
printf(" %d\n", r);
return 0;
}