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