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

問題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 < 10^10。 輸出 在一行中輸出Pa+ Pb的值。 樣例輸入 3862767 6 13530293 3 3862767 1 13530293 8 樣例輸出 399 0

#include<iostream>
#include<string.h>
using namespace std;
int main()
{
	char str1[11],str2[11];
	char x1,x2;
	long int sum1=0,sum2=0,sum=0;
	int count=1;
	while(scanf("%s %c %s %c",str1,&x1,str2,&x2)!=EOF)
	{
		sum=0;sum1=0;sum2=0;
		for(int i=0;i<strlen(str1);i++)
		{
			if(str1[i]==x1)
			{
				sum1+=(int)(x1-'0')*count;
				count=count*10;
			}
		}
		count=1;
		for(int i=0;i<strlen(str2);i++)
		{
			if(str2[i]==x2) 
			{
				sum2+=(int)(x2-'0')*count;
				count=count*10;
			}
		}
		count=1;
		sum=sum1+sum2;
		printf("%ld\n",sum);
	}
}