Codeup墓地 Contest100000575 问题 H: 部分A+B

题目描述

正整数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;
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_37205425/article/details/85090584