如何使用C或C++求最大公约数最小公倍数

 时间:2026-02-12 20:24:33

1、先求最大公约数:m,n作为形参,代表最开始的两个要相除的数,先将它们排序,这里将m作为大的数,n为小的那个数。在n即除数不为零的情况下进入循环,用大的那个数除以小的那个数,所得的余数赋给一个变量r。然后将除数赋给被除数,余数赋给除数(这步就是要让除数除以余数),然后将m返回,此时的m就是最大公约数。

如何使用C或C++求最大公约数最小公倍数

2、再求最小公倍数:这里求最小公倍数是用的一个公式,即两数的乘积除以最大公约数就得到最小公倍数。此处的形参r为最大公约数。

如何使用C或C++求最大公约数最小公倍数

3、主函数没什么好说的,就是调用两个函数,再作输出。

如何使用C或C++求最大公约数最小公倍数

4、最后给出完整的源代码:

#include<iostream>

using namespace std;

int gcd(int m,int n)//求最大公约数 

{

int r,t;

if(m<n)

{

t=m;

m=n;

n=t;

}

while(n!=0)

{

r=m%n;

m=n;

n=r;

}

return m;

}

int lcm(int m,int n,int r)

{

int t;

t=m*n/r;

return t;

}

int main()

{

int m,n,r,t;

cout<<"Enter m n:";

cin>>m>>n;

r=gcd(m,n);

t=lcm(m,n,r);

cout<<"GCD ="<<r<<endl

;

cout<<"LCM ="<<t<<endl;

return 0;

}

  • c语言如何生成随机数
  • c语言输出用空格隔开
  • c语言中空格字符怎么表示
  • 如何用C语言把小写字母转为大写?
  • C语言逆序输出
  • 热门搜索
    汇兑是什么意思 512是什么意思 车用尿素是什么 南京大屠杀是什么时候 五花八门是什么生肖 鼻毛长是什么原因 吃杏有什么好处 三个代表是什么 孕妇梦见蛇是什么意思 枸杞有什么作用