题目
正整数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
解析
直接统计计数然后计算机课,最大只有10位,可以用long long计算
代码
C++解法
#include <iostream> using namespace std; int main() { cin.tie(0); cin.sync_with_stdio(false); string a, b; char ad, bd; long long ac = 0, bc = 0; cin >> a >> ad >> b >> bd; for (char c : a) { if (c == ad) ac = ac * 10 + ad - '0'; } for (char c : b) { if (c == bd) bc = bc * 10 + bd - '0'; } cout << ac + bc << endl; return 0; }
Python解法
read = input().split(" ") num1 = 0 num2 = 0 for i in read[0]: if i == read[1]: num1 = num1 * 10 + ord(read[1]) - ord('0') for i in read[2]: if i == read[3]: num2 = num2 * 10 + ord(read[3]) - ord('0') print(num1 + num2)