本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。
项目 |
要求 |
时间限制 |
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
代码实现
C语言
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| #include <stdio.h> #include <string.h>
int main() { char A[1000]; int B, quotient, remainder, tmp = 0;
scanf("%s %d", A, &B);
for (int i = 0; i < strlen(A); i++) { if ( tmp ) { tmp = tmp * 10 + (A[i] - '0'); quotient = tmp / B; remainder = tmp % B; printf("%d", quotient); tmp = remainder; } else { int t = A[i] - '0'; quotient = t / B; remainder = t % B; if ( i==0 && strlen(A)>1 && quotient==0 ) { // 如果第一位是 0,不输出 } else { printf("%d", quotient); } tmp = remainder; } } printf(" %d", tmp); return 0; }
|
Python
1 2 3 4
| A, B = input().split() quotient = int(A) // int(B) remainder = int(A) % int(B) print(quotient, remainder)
|