博客
关于我
L1-003 个位数统计 (15分)
阅读量:557 次
发布时间:2019-03-09

本文共 754 字,大约阅读时间需要 2 分钟。

为了解决这个问题,我们需要统计给定的整数中每种不同个位数字出现的次数。由于该整数可能有1000位,因此传统的方法无法直接应用。我们需要一种有效的方法来处理如此大的数字。

方法思路

为了处理非常大的整数,我们可以将其作为字符输入逐个处理。具体步骤如下:

  • 初始化一个大小为10的数组,记录每个数字(0到9)出现的次数。
  • 读取输入字符,直到遇到换行符,每读取一个字符就对应整数中的一个数字。
  • 将字符转换为数字,并更新对应的计数器。
  • 遍历计数器,输出每个数字及其出现次数。
  • 解决代码

    #include 
    using namespace std;int main() { int count[10] = {0}; char n; // 读取每一位数字,直到遇到换行符 while ((n = getchar()) != '\n') { count[n - '0']++; } // 输出结果,按数字升序排列 for (int i = 0; i < 10; ++i) { if (count[i] != 0) { cout << i << ":" << count[i] << endl; } } return 0;}

    代码解释

  • 读取字符:我们使用getchar()读取字符,直到遇到换行符。每一位数字对应一个字符,例如数字'3'对应字符'3'。
  • 更新计数器:将字符转换为整数(n - '0'),然后增加对应位置的计数器。
  • 输出结果:遍历计数器,输出每个数字及其出现次数,按数字升序排列。
  • 这种方法有效地处理了大到1000位的整数,并确保了结果的正确性和效率。

    转载地址:http://rrxpz.baihongyu.com/

    你可能感兴趣的文章
    微信JS-SDK DEMO页面和示例代码
    查看>>
    GridView自定义删除操作
    查看>>
    一张图搞定RPC框架核心原理
    查看>>
    Scala中的包
    查看>>
    他来了他来了,他带着云栖大会的免费门票走来了
    查看>>
    获取linux 主机cpu类型
    查看>>
    Android Studio updating indices 一直刷新和闪烁
    查看>>
    pwntools编写技巧
    查看>>
    How2Heap笔记(三)
    查看>>
    小程序提交新数据后如何返回上一页并刷新数据?
    查看>>
    linux 查看log日志相关命令
    查看>>
    layer.confirm 无效
    查看>>
    Java 回调机制
    查看>>
    测试tensorflow是否安装成功 出现 SyntaxError: invalid syntax的错误
    查看>>
    pycharm使用(新建工程、字体修改、调试)
    查看>>
    什么是Numpy、Numpy教程
    查看>>
    Python学习笔记——元组
    查看>>
    异常声音检测
    查看>>
    打造自己的图像识别模型1— 数据准备-将图像数据转为tfrecord形式——【何之源-21个项目玩转深度学习】
    查看>>
    无法打开文件“opencv_world330d.lib”的解决办法
    查看>>