题目是pat乙级
思路:把数据分解为位,然后选取指定的数字,最后求和。
训练目的:数字分解为位
思路:把数据分解为位,然后选取指定的数字,最后求和。
训练目的:数字分解为位
题目描述
正整数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() { int a,da,b,db; while(cin>>a>>da>>b>>db) { int x=0,y=0; while(a) { if (a%10==da) x=x*10+da; a/=10; } while(b) { if (b%10==db) y=y*10+db; b/=10; } cout<<x+y<<endl; } return 0; }