PAT (Basic Level) Practice (中文)1016 部分A+B python

出处:
https://pintia.cn/problem-sets/994805260223102976/problems/994805306310115328

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

输入格式:

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

输出格式:

在一行中输出 PA+PB的值。

输入样例 1:

3862767 6 13530293 3 输出样例 1:

399 输入样例 2:

3862767 1 13530293 8 输出样例 2:

0

这个题还是比较简单的,按照题目描述的写就可以了。
n = input().split()

#读入数据
A = n[0]
DA = n[1]
B = n[2]
DB = n[3]

sumA,sumB = 0,0
#sumA,sumB分别用来记录A中DA的数量,B中DB的数量
PA,PB = '0','0'
#分别是由A中所有DA组成的新整数PA和由B中所有DB组成的新整数PB

#计算sumA,sumB
for i in range(len(A)):
    if A[i] == DA:
        sumA += 1
for j in range(len(B)):
    if B[j] == DB:
        sumB += 1

#生成PA,PB
for i in range(sumA):
    PA += DA
for j in range(sumB):
    PB += DB

#将PA,PB转换成int型相加得出结果,不需要考虑很多0的情况,因为转换int的时候会自动处理这种情况
res = int(PA) + int(PB)
print(res)

PAT (Basic Level) Practice (中文)1016 部分A+B python_第1张图片

你可能感兴趣的:(PAT,python,python)