您的位置:首页 > 编程语言 > C语言/C++

PAT乙级1017 A除以B

2017-02-22 16:54 218 查看


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>
#include <string.h>
#define size 1020

int main(void)
{
char chuan[size] = { '\0' };
int shu[size] = { '\0' }, B = 0, Q = 0, carry = 0;
int str1;

scanf("%s %d", chuan, &B);
str1 = strlen(chuan);
for (int i = 0; i < str1; i++)
{
shu[i] = chuan[i] - '0';
}
int he = 0;
for (int i = 0; i < str1; i++)
{
if (i != 0 || shu[i] / B != 0)
{
printf("%d", (10 * he + shu[i]) / B);
}
he = (10 * he + shu[i]) % B;
}

if (str1 == 1 && shu[0] <B)
{
printf("0");
}

printf(" %d", he);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言 PAT 乙级