输入两个整数后,求这两个整数的最大公约数。
相关的题目:
C++ 方法一:
/*
电子协会 C语言 1级 24 、求最大公约数 方法二
输入两个整数后,求这两个整数的最大公约数。
【C++】gcd函数的写法
https://blog.csdn.net/Ljnoit/article/details/99319849
相关的题目:
3248:最大公约数
http://bailian.openjudge.cn/practice/3248/
8784:最大公约数和最小公倍数问题
http://noi.openjudge.cn/ch0207/8784/
*/
inline int gcd(int a,int b)
{
int r;
while(b>0) {
r=a%b;
a=b;
b=r;
}
return a;
}
#include <iostream>
using namespace std;
int main()
{
int m,n,k,i,tmp;
cin>>m>>n;
if( m<n)
{
tmp=m;
m=n;
n=tmp;
}
cout<<gcd(m,n)<<endl;
return 0;
}
C++ 方法二:
/*
电子协会 C语言 1级 24 、求最大公约数
输入两个整数后,求这两个整数的最大公约数。
相关的题目:
3248:最大公约数
http://bailian.openjudge.cn/practice/3248/
8784:最大公约数和最小公倍数问题
http://noi.openjudge.cn/ch0207/8784/
*/
// 适合 m,n<10000,超范围会运行超时
#include <iostream>
using namespace std;
int main()
{
int m,n,k,i;
cin>>m>>n;
k=min(m,n);
//用最小数做循环次数
for(i=k; i>=1; i--)
{
if( m%i == 0 && n%i == 0 )
{
cout<<i;
break;
}
}
return 0;
}