C语言求最大公约数和最小公倍数

  • Post author:
  • Post category:其他


1:数学上的介绍
在这里插入图片描述

2:

C语言中的介绍:

最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,其中一个最小的公倍数是他们的最小公倍数,同样地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接

求最小公倍数算法:


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

求最大公约数算法:

(1)辗转相除法


有两整数a和b:

① a%b得余数c

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

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

例如求27和15的最大公约数过程为:

27÷15 余1215÷12余312÷3余0因此,3即为最大公约数

#include <stdio.h>
int main(void)
{
	int p,m,n,r,t;
printf("输入m,n的值:\n");
scanf("%d%d",&m,&n);
if(n<m)
{
	t=n;
	n=m;
	m=t;
}
p=m*n;
while(m!=0)
{
	r=n%m;
	n=m;
	m=r;
}
printf("最大公约数是:%d\n",n);
printf("最小公倍数数是:%d\n",p/n);
return 0;
}

在这里插入图片描述



版权声明:本文为qq_41348629原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。