1017. A除以B (20)
时间限制
100 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。
输入格式:
输入在1行中依次给出A和B,中间以1空格分隔。
输出格式:
在1行中依次输出Q和R,中间以1空格分隔。
输入样例:123456789050987654321 7输出样例:
17636684150141093474 3
#include<stdio.h> int main() { char ch; //以字符形式输入 int s[1000]; int n=0; while((ch=getchar())!=' ') //如果输入字符不是空格就执行循环体 { s[n]=ch-'0'; //不要忘了减去'0'字节 n++; } int b; //定义除数和余数要在while循环之下 int c=0; //否则程序无法正常运行,即计算机 无法正常执行for循环 scanf("%d",&b); for(int i=0;i<n;i++) //第一位数字为0时不输出 { //即输入数据第一位数字小于除数(i=0&&s[i]/b==0) if(i!=0||s[i]/b!=0) //取其否定为(i!=o||s[i]/b!=0) { printf("%d",(c*10+s[i])/b); //满足条件,输出每位数字求得的商 } c=(c*10+s[i])%b; //求得余数 } if(n==1&&s[n]<b) //当输入数据只有一位且小于除数时,输出0 { printf("0"); } printf(" %d",c); //输出余数,前面不要忘了加一个空格 }