PAT-乙级-1017.A除以B
Updated:
1017 A除以B (20 分)
本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。
输入格式:
输入在一行中依次给出 A 和 B,中间以 1 空格分隔。
输出格式:
在一行中依次输出 Q 和 R,中间以 1 空格分隔。
输入样例:
123456789050987654321 7
输出样例:
17636684150141093474 3
分析:把前面的A用字符串输入,然后仿照除法的运算过程:
1.先用div存储A的第一个数字除以B后的结果,mod存储它的余数,当A只有一位或者A不知一位但是得到的余数不为0的时候,直接输出div(也就是结果Q的第一位)。
2.进行len-1(len是A的长度)次循环(因为第一步处理已经处理了一位)。在每一步,当前被除数x = mod ×10 + 当前循环得到的数字,除数为B,则当前输出的结果为div = x / B,当前的余数为mod 为 x % B。
3.输出最后的余数。
代码:
1 |
|