- 辗转相除法:
#include<stdio.h>
int main()
{
int m,n,t,r;
scanf("%d%d",&m,&n);
if(m<n)
{
t=m;
m=n;
n=t;
}
r=m%n;
while(r!=0)
{
m=n;
n=r;
r=m%n;
}
printf("%d\n",n);
return 0;
}
#include<stdio.h>
int main()
{ int m,n,min;
scanf("%d%d",&m,&n);
min=m>n?n:m;
while(min>1&&(m%min!=0)||(n%min!=0))
min--;//每次减一寻找最大公约数
printf("%d\n",min);
return 0;
}