当前位置:首页 > 算法 > 正文内容

小学5年级的数学题: 求最大公约数

淙嶙5年前 (2021-02-02)算法2521

题目:有两个木料,一根长2015毫米,另一根长755毫米,要把他们锯成同样大小的小段,不许有剩余,但每锯一次要损耗1毫米的木料,每小段木料最长可以是多少毫米?


分析 网友发出来的,乍一看挺唬人,其实是个简单的求最大公约数的题目,用我们的理解算一下, 设每小段为 x 毫米; 2015的木料锯成 y 段; 755 的木料锯成 z 段;

那么

  • x * y + y - 1 = 2015;
  • x * z + z - 1 = 755;

简化下 :

  • ( x + 1) * y = 2016;
  • (x + 1) * z = 756;

那么让 x 最大的,就是 x + 1 也是最大,就转化成立 2016 和 756的最大公约数问题了。

但是对于5年级的小朋友,应该还没有接触函数, 那么我这么解释:

1.根据每锯一小段都会损耗1毫米,我们可以把1毫米加到每个小段里面;
2.但是有一个问题,如果锯成2段需要锯1次,聚成3段需要锯2次,也就是说 我把损耗1毫米放到每个小段里面,实际上多算了1次,即:多算1毫米;
3.既然两个木料都多算了1次,那我们可以把多计算的1毫米,加到两根总长度里面,木料总长度就变成了 2016毫米和756毫米;
4.问题就转化成了,两根木料2016毫米和756毫米,锯成同样长度的小段,没有损耗。这就是两个数求最大公约数
5.根据第1条,最大公约数其实是比实际的长1毫米的,所有最终结果为:最大公约数减1.

相关文章

快速排序

快速排序

package com.dl.study.m3; import java.util.Arrays; /** * 分治法 * 把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分...

leetcode - 1.两数之和

leetcode - 1.两数之和

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示...

单点登录终极方案之 CAS 应用及原理

单点登录终极方案之 CAS 应用及原理

Cookie的单点登录的实现方式很简单,但是也问题颇多。例如:用户名密码不停传送,增加了被盗号的可能。另外,不能跨域! 1、基于Cookie的单点登录的回顾 基于Cookie的单点登录核心原理:将...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。