欧几里得算法
欧几里得算法又叫辗转相除法,是一种用来求两个数的最大公约数的算法。
如图:
注:此图为作者所画,禁止转载。
上图中用66和42为例,详细地介绍了如何求这个最大公约数的方法,接下来废话不多说,直接上代码。
#include<bits/stdc++.h>
using namespace std;
int comment(int m,int n)
{
int r;
r = m%n;
while(r!=0){
m = n;
n = r;
r = m%n;
}
return n;
}
int main()
{
int m,n,k;
cin>>m>>n;
k = comment(m,n);
cout<<k<<endl;
return 0;
}
各位大佬如果有更优化的办法欢迎指出,这只是本猫的一些小小的理解…