时间限制 1000 ms
内存限制 32768 KB
代码长度限制 100 KB
判断程序 Standard
(来自 小小)
题目描述
本题要求计算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>
#include<iostream>
#include<string.h>
using namespace std;
#pragma warning(disable:4996)
int main()
{
int n, m = 0;
char str[1000];
scanf("%s %d", str, &n);
if (strlen(str) == 1 && str[0] - '0' < n)
{
printf("0 %d", str[0] - '0');
}
else
{
for (int i = 0; i < strlen(str); i++)
{
if (i > 0 && m == 0 && str[i] - '0' < n)
{
printf("0");
}
m = m * 10 + str[i] - '0';
if (m / n > 0)
{
printf("%d", m / n);
m = m % n;
}
}
printf(" %d\n", m);
}
system("pause");
return 0;
}