1016. 部分A+B (15) 正整数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 <iostream> using namespace std; int main(void) { string A,B; int DA,DB; cin>>A>>DA>>B>>DB; int numA=0,numB=0; for(int i=0;i<A.length();i++) { if(A[i]-'0'==DA) numA++; } for(int i=0;i<B.length();i++) { if(B[i]-'0'==DB) numB++; } long resa=0; long resb=0; long k=1; while(numA>0) { resa+=DA*k; k*=10; numA--; } k=1; while(numB>0) { resb+=DB*k; k*=10; numB--; } cout<<resa+resb<<endl; return 0; }