IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 1016 部分A+B -> 正文阅读

[C++知识库]1016 部分A+B

题目描述:

正整数 A 的“D?A??(为 1 位整数)部分”定义为由 A 中所有 D?A?? 组成的新整数 P?A??。例如:给定
A=3862767,D?A??=6,则 A 的“6 部分”P?A?? 是 66,因为 A 中有 2 个 6。 现给定
A、D?A??、B、D?B??,请编写程序计算 P?A??+P?B??。

输入格式:

输入在一行中依次给出 A、DA 、B、DB,中间以空格分隔,其中 0<A,B<10^9。

输出格式:

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

输入样例1:

3862767 6 13530293 3

输出样例1:

399

输入样例2:

3862767 1 13530293 8

输出样例2:

0

题意

输入四个数A、DA、B、DB,其中DA跟DB都是单个数字。将A中的数字DA全都拼在一起得到PA,将B中的数字DB全都拼在一起得到PB,输出PA+PB。

样例解释

样例1:
A=3862767,DA=6;
B=13530293,DB=3;
这样6在A中出现了2次,因此PA=66;而3在B中出现了三次,因此PB=33.
最后输出66+333=399.
样例2:
A=3862767,DA=1;
B=13530293,DB=8。
这样1在A中出现了0次,因此PA=0;而8在B中出现了0次,因此PB=0.
最后输出0+0=0.

解题思路

令PA初值均为0,枚举A中的每一位,如果该位恰好等于DA,则令PA=PA*10+DA。这样当枚举完A中的每一位之后,就得到了PA。
同理可以得到PB。最后输出PA+PB即可。

注意点

①例如DA=6,而现在PA=66,如果当再次碰到A中新的6的时,PA=PA10+DA就是PA=6610+6=666,即给PA准备增加了一位6.
②由于题目中给出的范围是10^10以内,这个范围是超过int的,因此需要使用longlong来存放A和B。不过也可以用字符串来存储A和B,方法其实都是一样的。

代码

#include<cstdio>

int main()
{
    long long a, b, da, db;
    scanf("%lld %lld %lld %lld", &a, &da, &b, &db);
    long long pa = 0, pb = 0;
    while(a != 0){      //枚举a的每一位
        if(a%10==da)    pa = pa * 10 + da;  //如果当前位为da,给pa增加一位da
        a = a / 10;
        
    }
    while(b != 0){      //枚举b的每一位
        if(b%10==db)    pb = pb * 10 + db;  //如果当前位为da,给pa增加一位da
        b = b / 10;
        
    }
    
    printf("%lld\n", pa + pb);
    return 0;
}
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-15 22:13:21  更:2022-03-15 22:15:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:52:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码