PAT_B 1016 部分A+B

PAT_B 1016 部分A+B

分析

简单的按照题目要求进行模拟即可

题目的描述

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

\(现给定 A、D_A、B、D_B,请编写程序计算 P_A+P_B\)

输入格式:

\(输入在一行中依次给出 A、D_A、B、D_B\) \(,中间以空格分隔,其中 0<A,B<10^9\)

输出格式:

\(在一行中输出 P_A+P_B 的值。\)

输入样例 1:

3862767 6 13530293 3

输出样例 1:

399

输入样例 2:

3862767 1 13530293 8

输出样例 2:

0

鸣谢用户 George Hu 修正数据范围!

AC的代码

#include <bits/stdc++.h>

using namespace std;

int main(){
    string A,B;
    int da,db;
    cin>>A>>da>>B>>db;
    int pa=0,pb=0;
    for(int i=0;i<A.length();i++){
        if(A[i]==da+'0'){
            pa*=10;
            pa+=da;
        }
    
    }
    for(int i=0;i<B.length();i++){
        if(B[i]==db+'0'){
            pb*=10;
            pb+=db;
        }
    }
    cout<<pa+pb<<endl;
    return 0;
}
posted @ 2022-01-24 22:30  ghosteq  阅读(29)  评论(0)    收藏  举报