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

来源:互联网 发布:ppt2010软件官方下载 编辑:程序博客网 时间:2024/06/06 14:18

题目

正整数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;}
阅读全文
0 0
原创粉丝点击