#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int f1(int m,int n)
{
int t; //余数,当余数为0的时候,最后的m即为最大公约数
//先用较小的数对较大的数取余,再用余数对较小的数求余,直到余数为零
while(n > 0)
{
t = m % n;
m = n;
n = t;
}
return m; //将结果返回
}
//函数精简版:
//int f1(int m,int n)
//{
// if(n==0) return m;
// return f1(n,m%n);
//}
int main()
{
int n,m;
scanf("%d%d",&m,&n);
int minn=min(m,n);
int maxx=max(m,n);
printf("最大公约数为:%d\n",f1(maxx,minn));
return 0;
}
求最大公约数--辗转相除法
最新推荐文章于 2024-08-22 23:18:05 发布