题目描述
正整数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 < 1010。
输出描述:
在一行中输出PA + PB的值。
输入例子:
3862767 6 13530293 3
输出例子:
399
#include <iostream>
#include <math.h>
#include <stdlib.h>
using namespace std;
int main()
{
char szDataA[12] = {0};
char szDataB[12] = {0};
char szNum[10] = {0};
char chDA = 0, chDB = 0;
int index = 0;
int nCountA = 0, nCountB = 0;
int nSum = 0;
/* 输入数据 */
cin >> szDataA >> chDA >> szDataB >> chDB;
/* 解析第一个数据 */
for(index = 0; szDataA[index] != '\0'; index++)
{
if(szDataA[index] == chDA)
{
nCountA++;
}
}
/* 解析第二个数据 */
for(index = 0; szDataB[index] != '\0'; index++)
{
if(szDataB[index] == chDB)
{
nCountB++;
}
}
/* 获得Pa */
for(index = 0; index < nCountA; index++)
{
szNum[index] = chDA;
}
szNum[index] = '\0';
nSum = nSum + atoi(szNum);
/* 获得Pb */
for(index = 0; index < nCountB; index++)
{
szNum[index] = chDB;
}
szNum[index] = '\0';
nSum = nSum + atoi(szNum);
cout << nSum;
return 0;
}