CCF-训练50题-NO.21-部分A+B

来源:互联网 发布:淘宝钻号出售 编辑:程序博客网 时间:2024/06/04 18:54

题目描述

正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6;给定A = 3862767,DA = 1,则A的“1部分”PA是0,因为A中有0个1。
现给定A、DA、B、DB,请编写程序计算PA + PB。

输入

输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 < A, B < 1010。

输出

在一行中输出PA + PB的值。

样例输入

3862767 6 13530293 3

样例输出

399

代码

#include <iostream>#include <cmath>using namespace std;int main(){    string a,b;     char da,db;    cin>>a>>da>>b>>db;    int la=a.size();    int lb=b.size();    int suma=0;    int sumb=0;    for (int i=0;i<la;i++){        if (a[i]==da) suma++;    }    for (int j=0;j<lb;j++){        if (b[j]==db) sumb++;    }    int A=0;    int B=0;    for (int i=0;i<suma;i++){        A+=pow(10,i)*(da-'0');    }    for (int j=0;j<sumb;j++){        B+=pow(10,j)*(db-'0');    }    cout<<A+B;}
原创粉丝点击