题目描述
输入两个正整数,输出其最大公约数。
输入描述
输入两个正整数 m 和 n,数据之间用空格隔开。
输出描述
输出一个整数,表示 m 和 n 的最大公约数。
输入样例
4 6
输出样例
2
代码一
辗转相除法
#include<stdio.h>
int main()
{
int m,n,t;
scanf("%d %d",&m,&n);
//辗转相除法
while(t=m%n,t!=0)
{
m = n;
n = t;
}
printf("%d\n",n);
return 0;
}
代码二
暴力求解
#include<stdio.h>
int main()
{
int m,n;
scanf("%d %d",&m,&n);
int min = (m<n)? m : n;//找出两个数中较小的
int a = min;
while(1)
{
if(m % a == 0 && n % a == 0)
{
break;
}
a--;
}
printf("%d\n",a);
return 0;
}