最大公约数

/辗转相除的简单函数形式,当其中一个为0时,则跳出while循环,此时x+y就为最小公约数/
int slyar(int x,int y)
{
    while(x>y?(x%=y):(y%=x));
	
    return x+y;
}
/辗转相除:/
#include"stdio.h"
int main()
{
	int a,b,t,n,m;
	while(scanf("%d%d",&a,&b)!=EOF)
	{
		if(a<b)
		{
			t=a;a=b;b=t;
		}
		m=a;n=b;
		while(n!=0)
		{
			t=m%n;
			m=n;
			n=t;
		}
		printf("最大公约数:%d\n",m);
		printf("最小公倍数:%d\n",a*b/m);
	}
	return 0;
}


原文地址:https://www.cnblogs.com/yyf573462811/p/6365366.html