模拟试题1 - 计算PA+PB
题目描述
正整数A的DA(1位整数)部分定义为由A中所有组成的新整数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 < 1e10
输出描述
在一行中输出PA+PB的值
输入例子
3862767 6 13530293 3
输出例子
399
解题程序
#include <iostream>
using namespace std;
void getPA(unsigned long num, int DA, unsigned long & PA)
{
PA = 0;
while(num) // 循环查找num中DA的个数
{
if(num%10==DA)
PA = PA*10+DA;
num/=10;
}
}
int main()
{
unsigned long A,B;
unsigned long PA=0,PB=0;
int DA,DB;
cin>>A>>DA>>B>>DB;
getPA(A,DA,PA); // 计算PA
getPA(B,DB,PB); // 计算PB
cout<<PA+PB<<endl;
return 0;
}
版权声明:本博客所有文章除特殊声明外,均采用 CC BY-NC 4.0 许可协议。转载请注明出处 litreily的博客!