题目内容
正整数 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<10^10 。
输出格式:
在一行中输出 PA +PB 的值。
输入样例 1:
3862767 6 13530293 3
输出样例 1:
399
输入样例 2:
3862767 1 13530293 8
输出样例 2:
0
解题思路
(1)注意A,B可能会超出整数的范围,最好使用字符串存储
(2)对A,B各位上的数字进行检查,得出PA,PB值,得到结果
程序源码
#include <iostream>
#include <string>
using namespace std;
int main(void)
{
string a, b;
int da, db;
cin>>a>>da>>b>>db;
int numA = 0, numB = 0, res = 0;
for(int i = 0; i < a.length(); i++)
if(a[i]-'0' == da)
numA = numA*10 + da;
for(int i = 0; i < b.length(); i++)
if(b[i]-'0' == db)
numB = numB*10 +db;
res = numA + numB;
cout<<res;
return 0;
}