求最小公倍数和最大公约数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33897800/article/details/78437053

1.最小公倍数=两整数的乘积÷最大公约数

2.求最大公约数算法

   (1)辗转相除法

    有两整数ab

       ① a%b得余数c

       ② c=0,则b即为两数的最大公约数

       ③ 若c≠0,则a=bb=c,再回去执行①

/*辗转相除法求最大公约数*/
#include <stdio.h>
int main(){
	int m,n,temp ;
	printf("请输入两个整数:");
	scanf("%d%d", &m, &n);
	while (n!=0)
	{
		temp = m%n;
		m = n;
		n = temp;
	}
	printf("最大公约数为:%d\n", m);
	return 0;
}

      (2)更相减损法

    有两整数a和b:
       ① 若a>b,则a=a-b
       ② 若a<b,则b=b-a
       ③ 若a=b,则a(或b)即为两数的最大公约数  

扫描二维码关注公众号,回复: 3473567 查看本文章

      ④ 若a≠b,则再回去执行①

/*更相减损法求最大公约数*/
#include <stdio.h>
int main(){
	int m,n,temp ;
	printf("请输入两个整数:");
	scanf("%d%d", &m, &n);
	while (m!=n)
	{
		if (m>n)
		{
			m = m - n;
		}else{
			n = n - m;
		}
	}
	printf("最大公约数为:%d\n", m);
	return 0;
}


猜你喜欢

转载自blog.csdn.net/qq_33897800/article/details/78437053