PTA:Python解答1016 部分A+B/1017 A除以B

1016 部分A+B (15分)

正整数 A 的“D​A​​ (为 1 位整数)部分”定义为由 A 中所有 D​A​​ 组成的新整数 P​A​​ 。例如:给定 A=3862767,D​A​​ =6,则 A 的“6 部分”P​A​​ 是 66,因为 A 中有 2 个 6。现给定 A、D​A​​ 、B、D​B​​ ,请编写程序计算 P​A​​ +P​B​​ 。

输入格式:

输入在一行中依次给出 A、D​A​​ 、B、D​B​​ ,中间以空格分隔,其中 0 < A, B < 10​^10。

输出格式:

在一行中输出 P​A​​ +P​B​​ 的值。

输入样例1:

3862767 6 13530293 3

输出样例1:

399

输入样例2:

3862767 1 13530293 8

输出样例2:

0

解题思路:

一样是利用切片,可以快速解题。

完整代码:

n = input().split()
s = ''
k = ''
for i in n[0]:
   if i == n[1]:
      s += i
for j in n[2]:
   if j == n[3]:
      k += j
if s == '':
   s = 0
if k == '':
   k = 0
print(int(s)+int(k))
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

完整代码:

n = list(map(eval,input().split()))
print(n[0]//n[1],n[0]%n[1])
点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注