C++辗转相除求两个数的最大公因数(即最大公约数)


一、题意

第一行输入两个数据n和m并且在第二行输出这两个数字的最大公因数。

二、代码

1.代码的实现

//辗转相除求出最大公因数
#include<bits/stdc++.h>
using namespace std;
int gcd(int a,int b)
{
	if(b==0)
	return a;
	else
	gcd(b,a%b);
}
int main()
{
	int n,m;
	cin>>n>>m;
	cout<<gcd(n,m);
	return 0;
} 

2.读入数据

4 16//输入数据
4//两个数据的最大公因数

三、总结

在做题过程中,我们经常碰到这种求两个数最大公因数的问题,虽然有些题没有直接表明求最大公因数,但是可能忘记如何求最大公因数就无法解出那个题,因为求最大公因数的代码比较简便,我推荐大家直接背下这个辗转相除gcd的代码,在求最大公因数的时候直接套用即可。

辗转相除法是一种最大公因数的常用方法。在C++中,可以使用以下代码实现辗转相除法最大公因数: ```cpp #include <iostream> using namespace std; int gcd(int a, int b) { if (b == 0) return a; else return gcd(b, a % b); } int main() { int m, n; cin >> m >> n; cout << gcd(m, n); return 0; } ``` 以上代码中,`gcd`函数使用递归的方式实现了辗转相除法。在`main`函数中,首先读入个整数m和n,然后调用`gcd`函数它们的最大公因数,并输出结果。 你可以将需要最大公因数个数作为输入,然后运行这段代码,即可得到它们的最大公因数。 #### 引用[.reference_title] - *1* *2* [C++辗转相除个数最大公因数(即最大公约数)](https://blog.csdn.net/weixin_46846304/article/details/116541722)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [C++ 辗转相除法最大公约数 最小公倍数](https://blog.csdn.net/weixin_61657293/article/details/123057552)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值