1016 部分A+B(C++)

一、问题描述:

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

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

输入格式:

输入在一行中依次给出 A、DAB、DB,中间以空格分隔,其中 0<A,B<109。

输出格式:

在一行中输出 PA+PB 的值。

输入样例 1:
3862767 6 13530293 3

输出样例1:

399

输入样例2:

3862767 1 13530293 8

输出样例2:

0

二、代码实现:

 1 #include <iostream>
 2 #include <cstring>
 3 using namespace std;
 4 int pfun(char s[],int n)
 5 {
 6     int count=0;
 7     int p=n;
 8     for(int i=0;s[i]!='\0';i++)
 9     {
10         if((s[i]-'0')==n)
11         {
12             count++;
13         }
14     }
15     if(count==0)
16         return 0;
17     else
18     {
19         for(int i=1;i<count;i++)
20         {
21             p=p*10+n;
22         }
23     }
24     return p;
25 }
26 int main()
27 {
28     char a[10];
29     char b[10];
30     int da,db;
31     int sum;
32     cin>>a>>da>>b>>db;
33     sum=pfun(a,da)+pfun(b,db);
34     cout<<sum<<endl;
35     return 0;
36 }

 

posted on 2023-05-25 21:34  轻挼草色  阅读(23)  评论(0)    收藏  举报