問題H:部分A+B
阿新 • • 發佈:2018-12-17
題目描述 正整數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); } }