1. 程式人生 > >PAT乙1016. 部分A+B (15)

PAT乙1016. 部分A+B (15)

題目在這裡

1016. 部分A+B (15)

時間限制 100 ms
記憶體限制 65536 kB
程式碼長度限制 8000 B
判題程式 Standard 作者 CHEN, Yue

正整數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的值。

輸入樣例1:
3862767 6 13530293 3
輸出樣例1:
399
輸入樣例2:
3862767 1 13530293 8
輸出樣例2:
0

#include<cstdio>
int main(){
	long long a,da,b,db;
	int i=1,j=1,pa=0,pb=0;
	scanf("%lld%lld%lld%lld",&a,&da,&b,&db);
	while(a>0){
		if ((a%10-da)==0){
			pa=pa+i*da;
			i=i*10;
		}
		a=a/10;
	}
		while(b>0){
		if ((b%10-db)==0){
			pb=pb+j*db;
			j=j*10;
		}
		b=b/10;
	}
	printf("%lld",pa+pb);
	return 0;
}