美文网首页
2018-04-19 pat 1016

2018-04-19 pat 1016

作者: 六月初断后中 | 来源:发表于2018-04-19 20:15 被阅读0次

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

    解题思路

    这道题目比较简单,因为DA只有一位数字,也就是输出相同数字的组成,可以采用正整数除以10取余得到末尾数字,选择判断之后留下与DA相同的数字就行,类似于逆序输出。
    C的代码如下

    int make_new( int,int);
    int main(){
         int A,B;
        int D_A , D_B,sum;
        scanf("%d %d %d %d",&A,&D_A,&B,&D_B);
        sum = make_new(A,D_A)+make_new(B,D_B);
        printf("%d\n",sum);
        return 0;
    }
    int make_new( int A,int pa){
        int result = 0;
        int temp;
        while(A){
            temp = A%10;
            A /= 10;
            if(temp==pa)  result= result*10+pa;
        }
        return result;
    }
    

    相关文章

      网友评论

          本文标题:2018-04-19 pat 1016

          本文链接:https://www.haomeiwen.com/subject/gfdgkftx.html