使用函数计算最大公约数

C++Beginner
立即练习

介绍

在本实验中,你将学习如何使用 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)。这是计算机科学和数学中的一个实用应用。