如何分土地:欧几里得算法的证明

1. 如何分土地

有这样一个问题:如何把一块1680×640的土地均匀的分成正方形,并且保证分出的正方形面积是最大的?

思考一下,这个问题其实可以转变为一个我们十分熟悉的问题:求1680与640的最大公约数。当土地可以被分成正方形时,正方形的小土地边长一定是被划分的大土地两条边的公约数,这样就很明白了。

在高中课程中我们就明白可以通过所谓的“辗转相除法”求得这个值,但是现在我们了解了一些的编程的概念以后,会发现所谓的“辗转相除法”是很典型的算法——确实是这样,因为辗转相除法又叫欧几里得算法。

我们高中的时候应该都用过这个方法,但我并没有记住这个方法的正确性是如何推导出来的。没有这一点的保证,我们就无法解决上面的分土地的问题,所以我们先尝试证明这个算法为什么是正确的。


2. 欧几里得算法的运算过程:

先让我们回顾一下欧几里得算法,假设这种方法正确,然后求出16和12的最大公约数(我们知道是4)。

我们先选择两个数中最小的那个数12,用大数除以小数:16 / 12 = 1 余 4,余数不为0,则选择余数4和小数12,用较小数除以余数:12 / 4 = 3 余 0,这是余数为0,我们就选择除数4,它就是我们要求的最大公约数。

在这个过程中,我们其实默认了12和4的最大公约数等于16和12的最大公约数。将这个想法运用到分土地的问题中,我们有1680和640,根据假设两个整数的最大公约数等于较小数与两数余数的最

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值