您的位置:首页 > 编程语言 > C语言/C++

PAT Basic 1016. 部分A+B (15)(C语言实现)

2017-05-18 23:45 603 查看

题目

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

思路

2^31 < 2*10^10,因此要用
long int


代码

最新代码@github,欢迎交流 ^_^

#include <stdio.h>

long Dpart(long A, int D_A)
{
long P_A;
for(P_A = 0; A; A /= 10)
if(A % 10 == D_A)
P_A = P_A * 10 + D_A;
return P_A;
}

int main()
{
long A, B;
int D_A, D_B;
scanf("%ld %d %ld %d", &A, &D_A, &B, &D_B);
printf("%ld", Dpart(A, D_A) + Dpart(B, D_B));

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: