PAT06:部分A+B

6.部分A+B

题目

题目描述

1
2
3
正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有26

现给定A、DA、B、DB,请编写程序计算PA + PB。

输入描述:

1
输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 < A, B < 1010

输出描述:

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

题解

这道题比较简单。需要掌握的是如何在一个整数中统计某个数字的计数。

方法:转换为字符串,使用字符串的count方法。

另外,n个相同的数字转换为整数使用range方法作为10的次方求和。

1
2
3
4
5
6
7
8
9
10
import sys

for line in sys.stdin:
a,da,b,db = line.strip().split(' ')
num1 = str(a).count(da)
num2 = str(b).count(db)
p1 = sum([int(da) * 10 ** i for i in range(num1)])
p2 = sum([int(db) * 10 ** i for i in range(num2)])
res = p1+p2
print(res)