1. 程式人生 > >Codeup墓地 Contest100000575 問題 H: 部分A+B

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;
}

在這裡插入圖片描述