正整数 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**
代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main() {
string a;
char d;
int sum = 0;
while (cin >> a >> d) {
int tmp = 0;
for (char i : a)
if (i == d)
tmp = tmp * 10 + (d - '0');
sum += tmp;
}
cout << sum;
return 0;
}
柳神
在简洁的不归路上越走越远
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
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] - '0')) pa = pa * 10 + da;
for (int i = 0; i < b.length(); i++)
if (db == (b[i] - '0')) pb = pb * 10 + db;
cout << pa + pb;
return 0;
}