1016. 部分A+B (15)

来源:互联网 发布:java实战1200例怎么样 编辑:程序博客网 时间:2024/05/16 01:43

1016. 部分A+B (15)

正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。

现给定A、DA、B、PA,请编写程序计算PA + PB

输入格式:

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

输出格式:

在一行中输出PA + PB的值。
输入样例1:

3862767 6 13530293 3

输出样例1:

399

输入样例2:

3862767 1 13530293 8

输出样例2:

0

//温故知新,修改于2016.8.4#include<iostream>#include<algorithm>#include<string>using namespace std;int main(){    string a,b;    char da,db;    cin>>a>>da>>b>>db;    int num1=count(a.begin(),a.end(),da);    int num2=count(b.begin(),b.end(),db);    string s1(num1,da);    string s2(num2,db);    cout<<atoi(s1.c_str())+atoi(s2.c_str())<<endl;}
#include<iostream>#include<fstream>#include<string>using namespace std;int str2int(string s,int n){    int num=0;    int mul=1;    for(int i=s.length();i>0;i--)    {        if((s[i-1]-'0')==n)        {            num=num+n*mul;            mul=mul*10;        }    }    return num;}int main(){    fstream file("data.txt");    if(file.fail())        return 1;    string num1,num2;    int n,m;    file>>num1>>n>>num2>>m;    int A=str2int(num1,n);    int B=str2int(num2,m);    cout<<A+B<<endl;    return 0;}
0 0
原创粉丝点击