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

0-1000 的数字里,恰好只有一个5的数的个数

0-1000 的数字里,恰好只有一个5的数的个数

2024.11.10架构考试选择题。写在前面,我觉得今年的选择题出的特别好,更多考察考生的逻辑思维能力和数学能力,专业的说就是考算法。以往都是以程序实现思维的互联网工作者,首次以心算手算的方式计算,的确是一个好的开始,重视人的思维了。

题目

0-1000 的数字里,恰好只有一个5的数的个数 A、242 B、243 C、225 D、224 如果这种题目是选择题,有什么快捷的思路获得结果吗

0-1000 的数字里,恰好只有一个5的数的个数A、242B、243C、225D、224

程序员思维 使用代码实现:

我们先使用编辑器插件提示生成代码示例如下:

/*** @author zhizhou   2024/11/11 09:09*/
public class countNumberWithOneFive {//写一段代码 求1-1000之间的数字中 只含有一个5的数字有哪些 有多少个 public static void main(String[] args) {int count = 0;for (int i = 1; i <= 1000; i++) {String str = String.valueOf(i);if (str.contains("5") && str.indexOf("5") == str.lastIndexOf("5")) {count++;System.out.println(i);}}System.out.println("共有" + count + "个数字");}
}

代码实现问问gpt:

chatgpt给出的思路也是字符串比较,最终和上述代码结果一致。

可以用以下 Java 代码来找到 1 到 1000 之间只含有一个数字 5 的数字,并统计其数量:
使用循环遍历 1 到 1000 之间的所有数字,将每个数字转换成字符串形式,使用 chars().filter() 来统计字符 ‘5’ 的个数。

public class SingleFiveCounter {public static void main(String[] args) {int count = 0;System.out.println("Numbers with only one '5' between 1 and 1000:");for (int i = 1; i <= 1000; i++) {String number = Integer.toString(i);if (number.chars().filter(ch -> ch == '5').count() == 1) {System.out.println(i);count++;}}System.out.println("Total count: " + count);}
}

但是呢,考试是选择题,没有机会去写代码的,所以搞清楚出题思路才是关键。

实际考试当中是不会有机会写代码实现的,那如何实现心算和手算呢?思路如下,对于这种题目,分析数字出现的规律,可以简化计算。

解题思路

  1. 分情况统计:考察1-1000的数位,把包含一个“5”的情况按每个位数来分析。

    • 从 0 到 999 中,百位、十位和个位各有一位可能出现“5”。
  2. 单个位上出现“5”

    • 百位、十位和个位上恰好出现一个“5”的数字数量,且其他位不含“5”:
      • 百位上是“5”,十位和个位可以是 0-9(但不能是 5),共有 (9 \times 9 = 81) 个。
      • 十位上是“5”,百位和个位可以是 0-9(但不能是 5),共有 (9 \times 9 = 81) 个。
      • 个位上是“5”,百位和十位可以是 0-9(但不能是 5),共有 (9 \times 9 = 81) 个。
  3. 总和:将上述情况相加得到:
    [
    81 + 81 + 81 = 243
    ]

所以,答案是 B、243
在这里插入图片描述

总结

这种题目的快捷思路就是:

  • 先明确每个位数单独为“5”时的情况。
  • 按位组合,计算不同位置上包含一个“5”的组合数,再汇总。

http://www.mrgr.cn/news/70194.html

相关文章:

  • sql文件
  • Swagger enum 最佳实践:深度剖析与应用指南
  • 【MySQL】MySQL函数之JSON_EXTRACT
  • 计算机代码python代做matlab编程c语言编写接单matlabqt开发java
  • Scala中的case class
  • 云计算在教育领域的应用
  • 【AI技术】DH_Live部署方案
  • 量化交易系统开发-实时行情自动化交易-2.技术栈
  • 适合初学者和专家程序员的 AI 编码工具
  • 贯穿式学习MySQL
  • 歌曲去人声的轻松技巧,只需两步就能获取纯伴奏
  • 优化时钟网络之时钟偏移
  • [CKS] Audit Log Policy
  • 快速了解SpringBoot 统一功能处理
  • 集运行业破内卷:以差异化服务打造准时达品牌,重塑良性竞争生态
  • 双 11 数据可视化:Pyecharts 与 Matplotlib 绘制商品价格对比及动态饼图
  • 华大单片机跑历程IO口被写保护怎么解决
  • golang分布式缓存项目 Day3 HTTP服务端
  • 如何让 AI 更懂你:提示词的秘密
  • 海康Android面试题及参考答案
  • 基于SSM超市管理系统的设计与实现(源码+lw+调试)
  • 提取神经网络数学表达式
  • CST如何计算CMA中的模式加权系数MWC
  • 信息安全工程师题
  • 在不久的未来,AI大模型将会如何重塑软件开发流程,会对现在的工作产生什么样的冲击
  • 大模型分布式训练并行技术(五)混合并行