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

2025-10-21 16:03:29

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;

}

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢