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;
}
本文来自博客园,作者:ghosteq,转载请注明原文链接:https://www.cnblogs.com/ghosteq/p/15841191.html