Auto commit
This commit is contained in:
parent
2c3e944e03
commit
f725ee8c97
52
辗转相除法原理.md
Normal file
52
辗转相除法原理.md
Normal file
@ -0,0 +1,52 @@
|
||||
辗转相除法,也称为欧几里得算法(Euclidean Algorithm),是一种用于计算两个整数的最大公约数(Greatest Common Divisor, GCD)的有效方法。
|
||||
|
||||
### 最大公约数的定义
|
||||
|
||||
首先,我需要明确什么是最大公约数。对于两个整数a和b(假设a > b),它们的最大公约数是能够同时整除a和b的最大的正整数。例如,12和18的最大公约数是6,因为6是能够整除12和18的最大的数。
|
||||
|
||||
### 辗转相除法的基本步骤
|
||||
|
||||
根据我所了解,辗转相除法的基本步骤如下:
|
||||
|
||||
1. 用较大的数除以较小的数,得到余数。
|
||||
2. 然后用较小的数除以这个余数,再得到一个新的余数。
|
||||
3. 重复这个过程,直到余数为0。此时,除数就是这两个数的最大公约数。
|
||||
|
||||
让我用一个具体的例子来试试这个方法。
|
||||
|
||||
### 示例:计算 48 和 18 的最大公约数
|
||||
|
||||
1. **第一步**:48 ÷ 18
|
||||
- 48 ÷ 18 = 2 余 12(因为 18 × 2 = 36,48 - 36 = 12)
|
||||
- 现在,用除数18除以余数12。
|
||||
2. **第二步**:18 ÷ 12
|
||||
- 18 ÷ 12 = 1 余 6(因为 12 × 1 = 12,18 - 12 = 6)
|
||||
- 现在,用除数12除以余数6。
|
||||
3. **第三步**:12 ÷ 6
|
||||
- 12 ÷ 6 = 2 余 0(因为 6 × 2 = 12,12 - 12 = 0)
|
||||
- 余数为0,过程结束。
|
||||
|
||||
最后的除数就是6,因此48和18的最大公约数是6。这与我的预期一致,因为6确实是能同时整除48和18的最大的数。
|
||||
|
||||
#### 数学原理
|
||||
|
||||
辗转相除法的有效性基于以下两个数学原理:
|
||||
|
||||
1. **除法算式的基本性质**:
|
||||
对于任何两个正整数a和b(a > b),可以表示为:
|
||||
a = b × q + r,其中q是商,r是余数,且0 ≤ r < b。
|
||||
|
||||
2. **GCD的性质**:
|
||||
GCD(a, b) = GCD(b, r)。也就是说,a和b的最大公约数等于b和r的最大公约数。
|
||||
|
||||
为什么这个性质成立?
|
||||
|
||||
- 设d = GCD(a, b),即d能整除a和b。
|
||||
- 因为a = b × q + r,所以r = a - b × q。
|
||||
- 既然d能整除a和b,那么d也能整除r(因为它是a和b的线性组合)。
|
||||
- 因此,d也是b和r的一个公约数。
|
||||
- 现在,假设存在一个更大的公约数d' > d,能整除b和r。
|
||||
- 但是a = b × q + r,所以d'也能整除a,这意味着d'也是a和b的公约数,且大于d,这与d是最大公约数矛盾。
|
||||
- 因此,GCD(a, b) = GCD(b, r)。
|
||||
|
||||
通过这个性质,我们可以将原问题逐步简化,直到余数为0。此时,GCD(b, 0) = b,因为任何数和0的最大公约数就是那个数本身。
|
Loading…
x
Reference in New Issue
Block a user