介绍
在本实验中,你将学习如何使用 C++ 中的函数来找到两个数的最大公约数(GCD, Greatest Common Divisor)。GCD 是能够整除给定两个数的最大数。我们将使用递归方法来实现该函数。
创建一个新的 C++ 文件
在 ~/project 目录下创建一个名为 main.cpp 的 C++ 文件。
touch ~/project/main.cpp
引入库
在文件中引入必要的库。
#include<iostream>
定义计算 GCD 的函数
定义一个递归函数 gcd(),它接收两个整数作为输入参数,并返回一个整数作为输出,该整数将是两个输入数的 GCD。
int gcd(int a, int b) {
if (a == 0 || b == 0)
return 0;
else if (a == b)
return a;
else if (a > b)
return gcd(a - b, b);
else
return gcd(a, b - a);
}
编写主函数
在 main() 函数中,声明两个整数变量并为它们赋值。然后,调用 gcd() 函数,将这两个变量作为参数传入,并输出结果。
int main() {
int a = 105, b = 30;
std::cout << "GCD of " << a << " and " << b << " is " << gcd(a,b) << std::endl;
return 0;
}
编译并运行程序
保存对文件的更改并退出。使用以下终端命令编译程序:
g++ main.cpp -o main
要运行程序,请在终端中输入以下命令:
./main
输出
运行程序后,终端将显示以下输出:
GCD of 105 and 30 is 15
总结
在本实验中,你学习了如何使用 C++ 中的递归函数来找到两个数的最大公约数(GCD)。这是计算机科学和数学中的一个实用应用。



