PAT-B-1016 部分A+B

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

现给定 ADABDB,请编写程序计算 PA+P*B*。

输入格式:

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

输出格式:

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

输入样例 1:

1
3862767 6 13530293 3

输出样例 1:

1
399

输入样例 2:

1
3862767 1 13530293 8

输出样例 2:

1
0

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;

int main(){
long long a,Da,b,Db;
scanf("%lld%lld%lld%lld",&a,&Da,&b,&Db);
//注意Pa,Pb的初始化赋值为0
int Pa=0,Pb=0;

while(a!=0){
if(a%10==Da)
Pa=Pa*10+Da;
a=a/10;
}

while(b!=0){
if(b%10==Db)
Pb=Pb*10+Db;
b=b/10;
}
printf("%d",Pa+Pb);
return 0;
}

----\(˙<>˙)/----赞赏一下吧~