B1016 部分A+B (15分)

数学题

1. 原文

正整数 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<1010。

输出格式:

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

输入样例 1:

1
3862767 6 13530293 3   

输出样例 1:

1
399    

输入样例 2:

1
3862767 1 13530293 8   

输出样例 2:

1
0

2. 解析思路

取数字的每一位一般从后往前取 用%10

用字符串去取,每一位可以用-‘0’得到,取每一个相同数字x10形成一个数

3. AC代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<stdio.h>
char ch1[100],ch2[100];
int ans(char ch[],int d){
int a=0;
for (int i = 0; ch[i] !='\0'; ++i)
{
if ((ch[i]-'0')==d)
{
a=a*10+d;
}
}
return a;
}
int main(){
int da,db;
scanf("%s%d%s%d",ch1,&da,ch2,&db);
int a,b;
a=ans(ch1,da);
b=ans(ch2,db);
printf("%d\n", a+b);

return 0;
}
本文结束  感谢您的阅读
  • 本文作者: Wang Ting
  • 本文链接: /zh-CN/2019/09/06/B1016/
  • 发布时间: 2019-09-06 22:47
  • 更新时间: 2021-10-29 14:15
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!