正整数 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^9。
输出格式:
在一行中输出 PA+PB 的值。
输入样例 1:
3862767 6 13530293 3
输出样例 1:
399
输入样例 2:
3862767 1 13530293 8
输出样例 2:
0
#include <iostream>
#include<sstream>
using namespace std;
//得到PA和PB的函数
string count(string s,char num);
int main() {
string s1,res1,s2,res2;
char num1,num2;
cin>>s1>>num1>>s2>>num2;
res1=count(s1,num1),res2=count(s2,num2);
// 使用sstrteam将string转为int
istringstream ss1(res1),ss2(res2);
int a,b;
// 从字符串中读取整数
ss1>>a;
ss2>>b;
cout<<a+b<<endl;
return 0;
}
//得到PA和PB的函数
string count(string s,char num) {
string temp="";
for(char c:s) {
if(c==num) {
temp+=num;
}
}
if(temp=="") {
return "0";
} else {
return temp;
}
}
计算正整数的特定数字部分之和

该文描述了一个编程问题,要求编写程序计算两个正整数A和B中,由指定数字DA和DB组成的部分(PA和PB)相加的结果。给定的输入包括A、DA、B和DB,输出为PA+PB的值。示例展示了如何利用C++中的字符串处理来实现这一功能。
361

被折叠的 条评论
为什么被折叠?



