编程之战第九十八章 慢跑(下) 首页

字体:      护眼 关灯

上一章 目录 下一章

编程之战第九十八章 慢跑(下)

    先来看路程,也就是12里。
    再看看左侧荷塘的周长,4里。
    右侧荷塘周长,6里。
    你是否会立即萌生出一种大胆的猜测?
    12就是4和6的最小公倍数,这是偶然的嘛?
    没错!必须坚定自己的想法!
    假设左侧荷塘周长为x,右侧荷塘周长为y,问两人各跑多少圈后在出发点再次相遇。
    这个问题,第一步就是求x,y的最小公倍数所代表的路程。
    这个路程必须能同时被x,y整除,这样两个人才会在出发点相遇。
    同时,必须是“最小”公倍数,才是再次(第二次)相遇。
    那怎么求两个数的最小公倍数呢?
    一种很简单的做法,是先求这两个数的最大公约数。
    求最大公约数,常用的做法是使用欧几里德算法,或者说是辗转相除法。
    得到了x,y的最大公约数,那么最小公倍数就是一句话:
    x乘以y除以x,y的最大公约数。
    好,既然求出了x,y的最小公倍数(路程),那么再求两人各自跑的圈数,不是很容易的事情了吗?
    12除以4,得到3(圈)。
    12除以6,得到2(圈)。
    这就是答案的由来。
    “科兄”,杨成眼中闪过一丝奇异的光芒。
    “你的每次奇思妙想都会引发我无尽的思索”。
    “真心地感谢你”。
    “哈哈!”,牛仔爽朗地一笑。
    “杨,如果没有你思想的火花,我不过是庸人自扰罢了”。
    “走,咋们去看看更遥远的地方”。
    “好!”,杨成顿时打起了精神。
    “叮!当前积分212分,击败了全球49%的玩家,请您再接再厉!”

上一章 目录 下一章