问题
2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder.
What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?
2520可以被1-10的每一个数整除,能被1-20每个数整除的最小的正数是多少?
思路
-
该题目本质上是求解1-20的最小公倍数,我们可以先求两个数字的最小公倍数,再将其扩展到多个数字的最小公倍数。
-
根据 两个数字的最小公倍数 * 两个数字的最大公因数 = 两个数字的乘积 这一规律,要求解两个数字的最小公倍数,我们可以先求解两个数字的最大公因数。
-
最大公因数可以使用辗转相减法求解。
辗转相减法
用较大的数字减去较小的数字,直到两个数字相同时,相同数字即为两个数字的最大公因数。
举例:求解(35,28)的最大公因数
(35,28)中,35较大,用35减去28