如何使用C或C++求最大公约数最小公倍数
1、先求最大公约数:m,n作为形参,代表最开始的两个要螽啸镥释相除的数,先将它们排序,这里将m作为大的数,n为小的那个数。在n即除数不为零的情况下进入循环,用大的那个数除以小的那个数,所得的余数赋给一个变量r。然后将除数赋给被除数,余数赋给除数(这步就是要让除数除以余数),然后将m返回,此时的m就是最大公约数。
2、再求最小公倍数:这里求最小公倍数是用的一个公式,即两数的乘积除以最大公约数就得到最小公倍数。此处的形参r为最大公约数。
3、主函数没什么好说的,就是调用两个函数,再作输出。
4、最后给出完整的源代码:#inclu蟠校盯昂de<iostream>using namespace st颊俄岿髭d;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。