✨ C++算法:辗转相除法与更相减损术 & 更相减损术c++
发布时间:2025-03-03 00:14:25 编辑:宗娥永 来源:
📚 在编程的世界里,算法是解决问题的关键工具之一。今天,我们来探讨两种古老的数学算法——辗转相除法和更相减损术,并用C++语言实现它们。这两种方法主要用于计算两个整数的最大公约数(GCD),在计算机科学中有着广泛的应用。
🔍 辗转相除法,也被称为欧几里得算法,通过不断将较大的数除以较小的数,并用余数替换较大的数,直到余数为零。此时,较小的数即为两数的最大公约数。
🔄 而更相减损术则是通过不断用较大的数减去较小的数,直到两数相等。这时的结果即为最大公约数。这种方法虽然不如辗转相除法高效,但在某些情况下仍然非常有用。
💻 下面是用C++实现这两种算法的基本代码:
```cpp
include
// 辗转相除法
int gcd_euclidean(int a, int b) {
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}
// 更相减损术
int gcd_subtraction(int a, int b) {
while (a != b) {
if (a > b)
a -= b;
else
b -= a;
}
return a;
}
int main() {
int num1 = 48, num2 = 18;
std::cout << "GCD of " << num1 << " and " << num2 << " is: " << gcd_euclidean(num1, num2) << "\n";
std::cout << "GCD of " << num1 << " and " << num2 << " using subtraction is: " << gcd_subtraction(num1, num2) << "\n";
return 0;
}
```
🚀 通过这段代码,我们可以看到两种算法的实际应用效果。无论是学习还是实际开发,掌握这些基础算法都是非常有价值的。希望这篇介绍对你有所帮助!🌟
上一篇:扫地机器人第一次充电多久 🔌🔋