1017 A除以B
本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。
输入格式:
输入在一行中依次给出 A 和 B,中间以 1 空格分隔。
输出格式:
在一行中依次输出 Q 和 R,中间以 1 空格分隔。
输入样例:
123456789050987654321 7
输出样例:
17636684150141093474 3
思路:这题主要考察大数除法......
1 #include<stdio.h>
2 #include<string.h>
3 #include<math.h>
4 #include<stdlib.h>
5 int main()
6 {
7 char num[1000];
8 int a;
9 scanf("%s %d",num,&a);
10 int flag=0,temp=0;//flag标记(第一位),temp存余数
11 int len=strlen(num);
12 for(int i=0;i<len;i++)
13 {
14 temp=temp*10+(num[i]-'0');//刷新除数
15 if(temp>=a)//能除
16 {
17 printf("%d",temp/a);
18 flag=1;
19 }
20 else if(temp<a&&flag==1)//不能除
21 {
22 printf("0");
23 }
24 temp=temp%a;//刷新余数
25 }
26 if(temp<a&&flag==0)//只有一位且不能除
27 printf("0");
28 printf(" %d",temp);//输出余数
29 return 0;
30 }
大佬见笑,,