正整数 A 的“*D**A(为 1 位整数)部分”定义为由 A* 中所有 *D**A* 组成的新整数 PA。例如:给定 A=3862767,DA=6,则 A 的“6 部分”*P**A* 是 66,因为 A 中有 2 个 6。
现给定 A、DA、B、DB,请编写程序计算 PA+PB。
输入格式:
输入在一行中依次给出 A、DA、B、DB,中间以空格分隔,其中 0<A,B<1010。
输出格式:
在一行中输出 PA+PB 的值。
输入样例 1:
3862767 6 13530293 3
输出样例 1:
399
输入样例 2:
3862767 1 13530293 8
输出样例 2:
0
代码
// 1016 部分A+B.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include <string>
using namespace std;
long getp(string a, int da) {
int cnt = 0;
for (int i = 0; i < a.length(); i++) {
if (a[i] - '0' == da) {
cnt++;
}
}
if (cnt == 0)
return 0;
string str;
for (int i = 0; i < cnt; i++) {
str += to_string(da);
}
return stol(str);
}
int main()
{
string a, b;
int da, db;
cin >> a >> da >> b >> db;
cout << getp(a, da) + getp(b, db);
return 0;
}
原文地址:https://www.cnblogs.com/ericling/p/12334299.html
时间: 2024-11-06 07:11:46