导读 辗转相除法,又称欧几里得算法,是一种用于计算两个正整数最大公约数(Greatest Common Divisor, GCD)的经典方法。这种方法不仅简单易
辗转相除法,又称欧几里得算法,是一种用于计算两个正整数最大公约数(Greatest Common Divisor, GCD)的经典方法。这种方法不仅简单易懂,而且非常高效,是编程竞赛和实际应用中常用的算法之一。
📚 算法原理:
假设我们有两个正整数a和b,且a>b。辗转相除法的基本思想是用较大的数除以较小的数,然后用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一次的余数,如此循环,直到余数为零为止。此时,最后一个非零余数就是这两个数的最大公约数。
🛠️ 代码实现:
```cpp
include
using namespace std;
int gcd(int a, int b) {
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}
int main() {
int num1 = 48, num2 = 18;
cout << "The GCD of " << num1 << " and " << num2 << " is " << gcd(num1, num2) << endl;
return 0;
}
```
🌈 示例输出:
```
The GCD of 48 and 18 is 6
```
掌握辗转相除法不仅可以帮助你解决许多与数论相关的编程问题,还能加深对数学和计算机科学的理解。💪
编程 C++ 算法