欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

求两个数的最大公约数和最小公倍数

程序员文章站 2022-07-15 08:39:37
...

最大公约数:

指两个或多个整数共有约数中最大的一个。

最小公倍数:

两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。

最小公倍数=两个数的乘积/两个数的最大公约数

 


#include <stdio.h>
//辗转相除法
int GreatestComDiv(int m,int n)
{
	int r;//定义一个数,作为余数
	//通过循环利用辗转相除法
	while((r=m%n)!=0)//两数相除,余数不等于0,则将n的值赋值给m,r的值赋值给m
	{
		m=n;
		n=r;
	}
	return n;
}
int LeastComMult(int m,int n)
{
	//return m/GreatestComDiv (m,n)*n;
	return (m*n)/GreatestComDiv (m,n);
}
int main()
{
	printf("最大公约数是:%d   最小公倍数是:%d\n",GreatestComDiv (12,8),LeastComMult(12,8));
	return 0;
}