PAT乙级--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

个人分析:

有两种情况:
一、a数字只有一位数且这一位数小于b,则需要另外考虑。
二、a数字大于数字b。
具体流程:
题目要求a数字小于1000位,于是用字符串数组来存放a数字内容,关于a数组的处理,要用字符和字符串的知识。用字符串数组c来存放运算结果商Q,remain来存储每次的计算的余数和最后的余数R。
需要去除商首位的0,由于b只有一位数,所得结果只会有一位多余的0,于是只要判断第一位数是否为0,是则去除,不是则输出即可。

代码实现:

C/C++

#include
#include
using namespace std;


int 

你可能感兴趣的:(PAT乙级,c++)