whytree

导航

 

求两个数的最大公约数

方法一

#include<iostream>
using namespace std;
int main()
{
	int m,n,g;
	cin>>m>>n;
	g=m>n?n:m;//最大公约数有可能是二者之间的最小值 
	while((m%g!=0||n%g!=0))
	  g--;
	cout<<g<<endl;   
	return 0;
} 

方法二
辗转相除法(欧几里德算法)

#include<iostream>
using namespace std;
int main()
{
	int m,n;
	cin>>m>>n;
	int r=m%n;
	while(r!=0)
	{
		m=n;
		n=r;
		r=m%n;
	}
	cout<<n<<endl;
	return 0;
}
posted on 2026-01-18 20:47  why_tree  阅读(0)  评论(0)    收藏  举报