和数学有关的算法
一、最小公倍数,最大公约数
计算方法
欧几里得算法
辗转相除法又名欧几里得算法,试求最大公约数的一种方法。它的具体做法是:用较大的数除以较小的数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,知道最后余数是0为止。
举例:
求10, 25的最大公约数
25 / 10 = 2 余数是5
10 / 5 = 2 余数是0
所以10和25的最大公约数就是5
最小公倍数为10 * 25 / 5 = 50
辗转相减法
第一步:任意给定两个整数,判断他们是否都是偶数。若是,则除以2。若不是则进行第二处。
第二步:比较大的数减去较小的数,接着把所得的差和较小的数比较,并以大数减去小数。知道减数和差相等。
举例:
98和63
由于63不是偶数,所以之间辗转相减:
98 - 63 = 35
63 - 35 = 28
35 - 28 = 7
28 - 7 = 21
21 - 7 = 14
14 - 7 = 7
由于减数和差相等所以停止。
7就是最大公约数
260和104
260和104均为偶数,所以除以2,得到130和52。130和52都是偶数,所以继续除以2,得65和26。因为65是奇数,所以用辗转相减。
65 - 26 = 39
39 - 26 = 13
26 - 13 = 13
因为减数和差相等,所以停止
13就是最大公约数
短除法
比如酸12和18的最小公倍数和最大公约数,用短除法。
找到12和18的最小公约数2,然后除以2之后变成6,9。
6和9的最下公约数是3,除以3之后变成2,3。
2和3没有公约数。