A除以B (Python)

本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。

输入格式:

输入在一行中依次给出 AB,中间以 1 空格分隔。

输出格式:

在一行中依次输出 QR,中间以 1 空格分隔。

输入样例:

123456789050987654321 7

输出样例:

17636684150141093474 3

代码如下:

为了做题而做题法:

# 不要为了单纯实现去做题
num_p ,num_s = input().split()
res = int(num_p) % int(num_s)
res1 =int(num_p) // int(num_s)
print(res1,res)

除法的竖式运算:

num_p, num_s = input().split()
num_list = [int(i) for i in num_p]

num_s = int(num_s)

rst = ''  # 存放商
i = 0
while i < len(num_list):
    if num_list[i] >= num_s:
        rst += (str(num_list[i] // num_s))
        num_list[i] %= num_s
    else:
        if i == len(num_list) - 1:
            break
        else:
            num_y = 10 * num_list[i] + num_list[i + 1]
            rst += (str(num_y // num_s))
            num_list[i], num_list[i + 1] = 0, num_y % num_s  
            i = i + 1
if rst == '':
    rst = '0'
print('%s %s' % (int(rst), num_list[-1]))
posted @ 2020-08-11 18:17  Lance_王  阅读(1213)  评论(0编辑  收藏  举报