• 问题 H: 部分A+B (15)


    问题 H: 部分A+B (15)

    时间限制: 1 Sec  内存限制: 32 MB
    献花: 86  解决: 81
    [献花][花圈][TK题库]

    题目描述

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

    输出

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

    样例输入

    3862767 6 13530293 3
    3862767 1 13530293 8

    样例输出

    399
    0
    参考代码:

    #include<stdio.h>

    
    

    #include<cmath>

    
    

    int main(){

    
    

        int a,c,b,d;

    
    

        int ret1=0,ret2=0;

    
    

        int cnt=0,n=0;

    
    

        scanf("%d %d %d %d",&a,&c,&b,&d);

    
    

        while(a!=0){

    
    

            if(a%10==c){

    
    

                cnt++;

    
    

                ret1+=pow(10,cnt-1)*c;

    
    

            }

    
    

            a=a/10;

    
    

        }

    
    

        while(b!=0){

    
    

            if(b%10==d){

    
    

                n++;

    
    

                ret2+=pow(10,n-1)*d;

    
    

            }

    
    

            b=b/10;

    
    

        }

    
    

        printf("%d ",ret1+ret2);

    
    

        return 0;

    
    

    }

    取出每一位数后直接处理,不要保存到数组再遍历,这样会超时因为最大值为10^10

     
  • 相关阅读:
    用户(三)
    首页和token验证(二)
    项目初始化和登录退出(一)
    VSCode设置vue/react模板
    Git操作
    C#可视化程序设计第三章(1,2)
    C#可视化程序设计第二章(3,4)
    SQL数据库第五章
    C#可视化程序设计第一章
    SQL数据库第四章
  • 原文地址:https://www.cnblogs.com/zhhjthing/p/7818526.html
Copyright © 2020-2023  润新知