题目描述
正整数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
3862767 1 13530293 8
样例输出
399
0
代码:
#include<cstdio>
#include<cstdlib>
int main(){
int DA,DB;
char A[11],B[11],PA[11],PB[11];
while(scanf("%s %d %s %d",A,&DA,B,&DB)!=EOF){
PA[0]='\0',PB[0]='\0';
int p_PA=0,p_PB=0;
for(int i=0;A[i]!='\0';++i) if(A[i]-'0'==DA) PA[p_PA++]=A[i];
for(int i=0;B[i]!='\0';++i) if(B[i]-'0'==DB) PB[p_PB++]=B[i];
PA[p_PA]='\0',PB[p_PB]='\0';
printf("%d\n",atoi(PA)+atoi(PB));
}
return 0;
}