当前位置: 首页 > news >正文

蓝桥杯之门牌

问题:

这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。 小蓝制作门牌的方法是先制作 0 到9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个字符 0,2 个字符 1,1 个字符 7。请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符?

要解决这个问题,我们需要统计从1到2020的所有门牌号中数字字符2出现的总次数。可以通过遍历每个门牌号,分解其每一位数字并检查是否为2来实现。

方法思路

  1. 遍历每个门牌号:从1到2020逐个处理每个门牌号。

  2. 分解每一位数字:对于每个门牌号,通过取余和整除操作分解其每一位数字。

  3. 统计数字2的出现次数:检查每一位数字是否为2,如果是,则计数器加1。

#include <stdio.h>

int main() {
    int count = 0;
    for (int i = 1; i <= 2020; i++) {
        int num = i;
        while (num > 0) {
            int digit = num % 10;
            if (digit == 2) {
                count++;
            }
            num /= 10;
        }
    }
    printf("%d\n", count);
    return 0;
}

代码解释

  1. 初始化计数器count变量初始化为0,用于累计数字2的出现次数。

  2. 遍历门牌号:使用for循环从1遍历到2020。

  3. 分解数字:对于每个门牌号i,使用while循环分解其每一位数字。通过取余操作num % 10获取当前位的数字,然后通过整除操作num /= 10处理下一位。

  4. 检查是否为2:如果当前位的数字是2,则计数器count加1。

  5. 输出结果:循环结束后,打印计数器的值,即数字2的总出现次数。

 

 

 

相关文章:

  • SQL问题分析与诊断(8)——分析方法1
  • Sentinel核心算法解析の漏桶算法
  • Docker的镜像构建
  • Stable Diffusion +双Contronet:从 ControlNet 边缘图到双条件融合:实现服装图像生成的技术演进——项目学习记录
  • Profibus DP主站转ModbusTCP网关通讯秘籍
  • Windows 10 操作系统电源选项没有高性能模式怎么办?
  • 【c语言】指针习题
  • 征程 6 VIO Frame 时间戳介绍
  • 【随手笔记】QT避坑一(串口readyRead信号不产生)
  • 测试第二课-------测试分类
  • 安宝特案例 | 某户外机房制造企业应用AR+作业流,规范制造过程,记录施工节点,保障交付质量
  • AI Agent工程师认证-学习笔记(3)——【多Agent】MetaGPT
  • 2025蓝桥杯省赛C++B组解题思路
  • 月之暗面视觉模型(Kimi-VL)论文速读
  • OBS SDK 中 ffmpeg_muxer 与 ffmpeg_output 的区别与使用 QSV 编码器的正确方式
  • 《前端面试题之 CSS篇(第一集)》
  • 一周学会Pandas2 Python数据处理与分析-Pandas2数据导出
  • data_analysis13
  • 神经网络背后的数学原理
  • 探索 Python 的 functools 模块:缓存、属性缓存与 LRU 缓存
  • 东莞市住房建设局网站/外链生成器
  • 温州做网站/万网域名查询注册商
  • wordpress 百度地图插件/seo优化排名公司
  • 做购物网站多少钱/网站设计公司网站制作
  • 片头制作网站/百度收录入口
  • 百度做网站推广多少钱/怎么免费创建网站