PAT乙级 1016. 部分A+B (15)

题目传送:https://www.patest.cn/contests/pat-b-practise/1016

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

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

输入格式:

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

输出格式:

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

输入样例1:

3862767 6 13530293 3

输出样例1:

399

输入样例2:

3862767 1 13530293 8

输出样例2:

0
 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cstring>
 4 #include<string.h>
 5 using namespace std;
 6 
 7 
 8 int main()
 9 {
10     long long A,B;
11     int a,b;
12     long long pa=0,pb=0;
13     cin>>A>>a>>B>>b;
14     while(A>=10)
15     {
16         if(A%10==a)
17             pa=pa*10+a;
18         A/=10;
19     }
20     if(A%10==a)
21             pa=pa*10+a;
22     while(B>=10)
23     {
24         if(B%10==b)
25             pb=pb*10+b;
26         B/=10;
27     }
28     if(B%10==b)
29             pb=pb*10+b;
30     printf("%lld
",pa+pb);
31     return 0;
32 }
原文地址:https://www.cnblogs.com/Annetree/p/7127230.html