题目
正整数
A
A
A的“
D
A
D_A
DA(为1位整数)部分”定义为由
A
A
A中所有
D
A
D_A
DA组成的新整数
P
A
P_A
PA。例如:给定
A
=
3862767
,
D
A
=
6
,
A=3862767,D_A=6,
A=3862767,DA=6,则
A
A
A的“6部分”
P
A
P_A
PA是66,因为
A
A
A中有2个6
现给定
A
、
D
A
、
B
、
D
B
A、D_A、B、D_B
A、DA、B、DB,请编写程序计算
P
A
+
P
B
P_A+P_B
PA+PB。
输入格式:
输入在一行中依次给出 A 、 D A 、 B 、 D B A、D_A、B、D_B A、DA、B、DB,中间以空格分隔,其中 0 < A , B < 1 0 10 0<A,B<10^{10} 0<A,B<1010。
输出格式:
在一行中输出 P A + P B P_A+P_B PA+PB的值
输入样例1:
3862767 6 13530293 3
输出样例1:
399
输入样例2:
3862767 1 13530293 8
输出样例2:
0
思路分析:
- 遇到较大数字时可以优先考虑将较大的书存入string类中。
代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
string A, B;
int DA, DB, PA = 0, PB = 0;
cin >> A >> DA >> B >> DB;
for(int i = 0; i < A.length() ; i++)
if(DA == A[i] - 48) PA = PA * 10 + DA;
for(int j = 0; j < B.length(); j++)
if(DB == B[j] - 48) PB = PB * 10 + DB;
cout << PA + PB;
return 0;
}