首先我们可以写出两个数字来找出规律
第一例: 地板上的数字14 2 游戏结束之后 地板上的数字是:14 12 10 8 6 4 2 这7个数字 这时先写的就会赢
第二例: 地板上的数字为7 5 游戏结束之后 地板上会出现的数字是:7 2 5 3 1 6 4 一共7个数字 这时 先写就会赢
第三例 : 地板上的数字为18 45 游戏结束之后 地板上会出现的数字是:18 45 27 9 36 一共5个数字 这时先写就会赢
........
不知大家有没有发现,地板上出现的数字都是中间某个数的倍数
第一例:地板上的数都是2的倍数
第二例:地板上的数字都是 1的倍数
第三例:地板上的数字都是9的倍数
再来看一下倍数的基数和原始在地板上的数字的关系:
第一例 14 2 2 个数 7 =14/2
第二例 7 5 1 个数 7=7/1
第三例 18 45 9 个数 5=45/9
可以发现这个倍数的基数就是原始数的最大公倍数 出现在地板上的个数就是地板上的最大值除以他的最大公约数
欧几里得算法就是专门解决最大公约数的算法的;欧几里得是采用的是辗转相除法:原理如下
如果:a=6 b=4
gcd(a,b)=gcd(b,a%b)【%相当于mod 取余函数】一直到gcd(x,0);那么这两个数的最大公约数就为x
gcd(6,4)=gcd(4,2)=