Scratch蓝桥杯实战训练 —— 巧解“韩信点兵”难题的五种方式

news2025/1/15 14:56:46

“韩信点兵”蓝桥杯问题描述:

     “蓝桥杯”中有一道有趣的 Scratch 编程题,题目要求为:韩信点兵


扩展知识:

这道题叫“中国余数定理”,又叫“孙子定理”,也叫“韩信点兵问题”,是我国古代数学智慧结晶。

解题思路及方法


第一种题目及解题方法

有一个数,除以3余下2,除以5余下2,除以7余下2。求这个数最小值。

      先将这个数设为 x ,不难发现只要 x 减去 2 ,就变成 3、5、7 的公倍数。通过计算可知:3、5、7最小公倍数是 105。在加上原先去掉的 2 ,答案为 107。

代码图片如下:

      比较机智的网友,还可以用算式算出 3、5、7 的最小共公倍数。因为 3、5、7 这三数为互质关系。如下:


第二种题目及解题方法

有一个数,除以3余2,除以5余4,除以7余6。求这个数最小值。

      还是将这个数设为 x ,仔细查看即可发现只要将最后剩的余数加 1,就可以将结果变作整数。也就是说,将 x 增加 1 ,就变成 3、5、7 的公倍数。通过计算可知:3、5、7最小公倍数是 105。在去掉原先加上的 1 ,答案为 104.

算式如下:


第三种题目及解题方法

有一个数,除以3余2,除以5余3,除以7余1。求这个数最小值。

        仍旧将这个数设为 x ,聪明的网友可能看出了规律:除以 7 余 1 相当于除以 7 “余 8 ”,除以 5 余 3 也相当于 “余 8 ”,除以 3 余 2 还相当于“余 8 ”。知道了这点,就可以通过“第一种题目及解题方法”解决这个问题。最后不要忘了加上 8。

       代码小编也就不写了,请您看上两种解题方法,写出代码。


第四种题目及解题方法

        背景:在秦末时期,楚汉相争。韩信曾有一次带 1500 名兵士打仗,战死四五百人。这是,前方来报,说敌军率 500 人前来进攻。为了统计剩余士兵的个数,韩信令士兵 3 人一排,多出 2 人;5 人一排,多出 3 人;7 人一排,多出 2 人。韩信据此很快说出人数:1049 人。那么请问,韩信是如何快速知道军队人数的呢?

       这道题可以使用“重复执行”,将 1000~1100 逐个判断是否符合要求。全部代码如下:


第五种题目及解题方法

古代明朝数学家程大位将解法编成易于上口的《孙子歌诀》:

三人同行七十稀,五树梅花廿一支。

七子团圆正半月。除百零五使得知。

逐字逐句分析整首歌诀:

三人同行七十稀:把除以 3 所得的余数 (上文的“ 3 人一排,多出 2 人”) 乘以 70。

五树梅花廿一支:把除以 5 所得的余数 (上文的“ 3 人一排,多出 2 人”) 乘以 70。

七子团圆正半月:把除以 7 所得的余数 (上文的“ 3 人一排,多出 2 人”) 乘以 15 (“ 正半月”指 15 天)。

除百零五便得知:把上述三个积加起来,除以 105 (“百零五”指 105 ) 的余数便是答案。

列式:

2×70+3×21+2×15=233       233÷105=2……23

答案便是 23 

解题原理:

问题:

  • 为什么 70,21,15,105 有如此神奇作用?
  • 70,21,15,105 是从何而来?

70,21,15,105 的性质:

  • 70 除以 3 余 1,被 5和7整除,所以 70a 除以 3 余 a ,也被 5和7整除;
  • 21 余以 5 余 1,被 3和7整除,所以 21b 除以 5 余 b ,也被 3和7整除;
  • 15 除以 7 余 1,被 3和5整除,所以 15c 除以 7 余 c ,也被 3和5 整除。
  • 而 105 则是 3,5,7 的最小公倍数。

  总之来说,70a+21b+15c 是被 3 除余 a,被 5 除余 b ,被 7 除余 c 的数,这个数如果大了,还要减去它们的公倍数。

另一种解法:

       现在我们来提出另外一种解法,本质上是换汤不换药,请大家不妨仔细体会一下。
  题目为:“今有物不知数,五五数之余二,七七数之余二,九九数之余四,问物几何?
  先找除以 9 余 4 的数:4,13,22,31,40,49,58,67……
  其中除以 7 余 2 的数有:58
  但是 58 除以 5 不会余 2,用 58 加上7 和 9 的最小公倍数 63,直到到除以 5 后余数为 2为止:58,121,184,247……

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/415724.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Faster-RCNN代码解读3:制作自己的数据加载器

Faster-RCNN代码解读3:制作自己的数据加载器 前言 ​ 因为最近打算尝试一下Faster-RCNN的复现,不要多想,我还没有厉害到可以一个人复现所有代码。所以,是参考别人的代码,进行自己的解读。 ​ 代码来自于B站的UP主&…

Node【三】Buffer 与 Stream

文章目录🌟前言🌟Buffer🌟 Buffer结构🌟 什么时候用Buffer🌟 Buffer的转换🌟 Buffer使用🌟 创建Buffer🌟 字符串转Buffer🌟 Buffer转字符串🌟 拼接Buffer&…

python 理解BN、LN、IN、GN归一化、分析torch.nn.LayerNorm()和torch.var()工作原理

目录 前言: 简言之BN、LN、IN、GN等归一化的区别: 批量归一化(Batch Normalization,BN) 优点 缺点 计算过程 层归一化(Layer Normalization,LN) 优点 计算过程 总结 分析torch.nn.LayerNorm()工作原理 分析torch.var(…

Vue2-黑马(十一)

目录: (1)vue2-联调准备 (2)vue2-登录实战-国际化 (3)vue2实战-登录-login-index.vue (1)vue2-联调准备 登录这个请求,并不是发给后台的,现在还…

浙大MBA提面申请材料的三六九等……

每年浙大MBA项目提前批面试申请的每个批次中都会有部分材料因为某些原因而被淘汰,无缘面试资格。考生们由最初的不理解到逐渐隐约的理解,行至今日也可以大体接受材料被刷这个结果,当然其中含有一部分面上资质背景还可以的考生,等到…

Faster-RCNN代码解读2:快速上手使用

Faster-RCNN代码解读2:快速上手使用 前言 ​ 因为最近打算尝试一下Faster-RCNN的复现,不要多想,我还没有厉害到可以一个人复现所有代码。所以,是参考别人的代码,进行自己的解读。 ​ 代码来自于B站的UP主(…

中国电子学会2023年03月份青少年软件编程Scratch图形化等级考试试卷四级真题(含答案)

2023-03 Scratch四级真题 分数:100 题数:24 测试时长:90min 一、单选题(共10题,共30分) 1.编写一段程序,从26个英文字母中,随机选出10个加入列表a。空白处应填入的代码是?(C&am…

Flink (十二) --------- Flink CEP

目录一、基本概念1. CEP 是什么2. 模式 (Pattern)3. 应用场景二、快速上手1. 需要引入的依赖2. 一个简单实例三、模式 API(Pattern API)1. 个体模式2. 组合模式3. 模式组4. 匹配后跳过策略四、模式的检测处理1. 将模式应用到流上2. 处理匹配事件3. 处理超…

【高项】项目整体管理、范围管理与进度管理(十大管理)

【高项】项目整体管理与范围管理 文章目录1、项目整体管理1.1 整体管理的过程1.2 制定项目章程(启动)1.3 制订项目管理计划(规划)1.4 指导与管理项目执行(执行)1.5 监控项目工作与实施整体变更控制&#xf…

Systemverilog中operators和expression的记录

1. Equality operators Equality operators有三种: Logical equality:, !,该运算符中如果运算数包含有x/z态,那么结果就是x态。只有在两边的bit都不包含x/z态,最终结果才会为0(False)或1(True)Case equality&#xf…

中云盾DDoS云防护系统

中云盾 DDoS 防护系统作为公司级网络安全产品,为各类业务提供专业可靠的 DDoS/CC 攻击防护。在黑客攻防对抗日益激烈的环境下, DDoS 对抗不仅需要 “降本” 还需要 “增效”。 为什么上云? 云原生作为近年来相当热门的概念,无论…

RHCE-NTP、SSH服务器

1.配置ntp时间服务器,确保客户端主机能和服务主机同步时间​ 服务器端: (1)首先安装chrony软件: dnf install -y chrony (2)配置时间同步源: 进入vim /etc/chrony.conf &#xf…

引用和指针

总结 引用: 因为引用是变量的别名,所以引用必须初始化 因为引用不存在自己的地址,所以指针不能指向引用,即不能定义引用的指针 因为引用不是对象,但是引用又要绑定一个对象,所以不能定义引用的引用 in…

一篇文章看懂C++三大特性——多态的定义和使用

目录 前文 一,什么是多态? 1.1 多态的概念 二, 多态的定义及实现 2.1 多态的构成条件 2.2 虚函数 2.3 虚函数的重写 2.3.1 虚函数重写的两个例外 2.4 C override 和 final 2.5 重载,重写(覆盖),隐藏(重定义)的区别 三,抽…

代码随想录刷题-双指针总结篇

文章目录双指针移除元素习题我的解法双指针优化反转字符串习题我的解法剑指 Offer 05. 替换空格习题我的解法正确解法反转字符串里的单词习题我的解法反转链表习题我的解法删除链表的倒数第 N 个节点习题我的解法相交链表习题我的解法环形链表 II习题我的解法三数之和习题我的解…

Unity VFX -- (3)创建环境粒子系统

粒子系统中最常用也最重要的一种使用场景是实现天气效果。只需要做很少修改,场景就能很快从蓝天白云变成雪花飘舞。 和之前看到的粒子系统从一个源头发出粒子的情况不同,天气效果完全围绕着场景。 新增和放置一个新的粒子系统 为了创建下雨或下雪的天气…

【从零开始学Skynet】基础篇(三):服务模块常用API

1、服务模块 Skynet提供了开启服务和发送消息的API,必须要先掌握它们。列出了Skynet中8个最重要的API,PingPong程序会用到它们。 Lua API说明newservice(name, ...) 启动一个名为 name 的新服务,并返回服务的地址。 start(func) …

【学习笔记】unity脚本学习(二)(Time时间体系、Random随机数、Mathf数学运算)

目录Time时间体系timeScalemaximumDeltaTimefixedDeltaTimecaptureDeltaTimedeltaTime整体展示Random随机数Mathf数学运算IMathf.Round()Mathf.Ceil() Mathf.CeilToInt()Mathf.SignMathf.ClampMathf数学运算II-曲线变换Lerp 线性插值LerpAngleSmoothDamp疑问:Smooth…

自己动手写编译器:DFA跳转表的压缩算法

在编译器开发体系中有两套框架,一个叫"lex && yacc", 另一个名气更大叫llvm,这两都是开发编译器的框架,我们只要设置好配置文件,那么他们就会生成相应的编译器代码,通常是c或者c代码,然后…

AI自动寻路AStar算法【图示讲解原理】

文章目录AI自动寻路AStar算法背景AStar算法原理AStar寻路步骤AStar具体寻路过程AStar代码实现运行结果AI自动寻路AStar算法 背景 AI自动寻路的算法可以分为以下几种: 1、A*算法:A*算法是一种启发式搜索算法,它利用启发函数(heu…