辗转相除法和辗转相减法求最大公约数和最小公倍数

辗转相除法

#include
int main()
{
	int a,b,r,m,n;
	scanf("%d%d",&a,&b);
	m=a,n=b;
	while(b!=0){//被除数不等于0 
		r=a%b;
		a=b;
		b=r;//下一次被除数为r 
	}
	printf("%d %d",a,m/a*n);//输出最后一个除数 
	return 0;
} 

辗转相减法

#include
int main()
{
	int a,b,r,m,n;
	scanf("%d%d",&a,&b);
	m=a,n=b;
	while(a!=b){
		if(a>b){
			a-=b;
		}
		else{
			b-=a;
		}
	}
	printf("%d %d",a,m/a*n);//输出最后一个除数 
	return 0;
} 

你可能感兴趣的:(编程入门___近期编程题目总结)