c++怎么求最大公约数

   2025-02-20 5200
核心提示:C++中求最大公约数可以使用欧几里得算法(辗转相除法)。以下是使用递归方式实现最大公约数的示例代码:#include iostreamint gc

C++中求最大公约数可以使用欧几里得算法(辗转相除法)。

以下是使用递归方式实现最大公约数的示例代码:

#include <iostream>int gcd(int a, int b) {if (b == 0) {return a;}return gcd(b, a % b);}int main() {int a, b;std::cout << "请输入两个数字:";std::cin >> a >> b;int result = gcd(a, b);std::cout << "最大公约数为:" << result << std::endl;return 0;}

以上代码中,gcd函数用于计算最大公约数。在每次递归调用中,如果b等于0,则a即为最大公约数;否则,递归调用gcd(b, a % b),直到b等于0。

main函数中,用户输入两个数字ab,然后调用gcd函数计算最大公约数,并输出结果。

你也可以使用循环方式来实现最大公约数的计算:

#include <iostream>int gcd(int a, int b) {while (b != 0) {int temp = b;b = a % b;a = temp;}return a;}int main() {int a, b;std::cout << "请输入两个数字:";std::cin >> a >> b;int result = gcd(a, b);std::cout << "最大公约数为:" << result << std::endl;return 0;}

以上代码中,gcd函数使用循环方式实现,每次循环中取b的值保存到temp变量中,然后将a赋值为bb赋值为a除以b的余数,直到b等于0。循环结束后,a即为最大公约数。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言