其他分享
首页 > 其他分享> > 做了好几次还是容易忘记的最小公倍数和最大公约数求法

做了好几次还是容易忘记的最小公倍数和最大公约数求法

作者:互联网

最小公倍数求法:

设两个数分别是m,n

先讲两位数排序,较大值为m,较小值为n。

int temp  //中间变量

if(m<n)

{

  temp=m;

  m=n;

  n=temp;

}

1.利用公式:最小公倍数=m*n/最大公约数;

//最大公约数:

for(int i=m;i>=1;i--)

{

  if(m%i==0&&n%i==0)

   {

    printf("%d",i);//最大公约数

    break;

   }

}


//最大公倍数:

result=m*n/i;

2.按照定义求最小公倍数;

for(int i=m;i>0;i++)

{

  if(i%m==0&&i%n==0)

  {printf("%d",i);

  break;}

}

3.辗转相除法;

t=m%n;

while(t!=0)

{

m=n;

n=t;

t=m%n;

}

printf("%d",n);//最小公倍数

 

标签:m%,int,temp,公倍数,求法,最大公约数,printf
来源: https://www.cnblogs.com/jqhuang2021/p/15641448.html