一.更相减损法
代码(C++描述):
(局限性:x,y都为正数时才可用)
1 /**更相减损法求最大公因数和最小公倍数*/ 2 #include<iostream> 3 using namespace std; 4 int main(){ 5 int x,y,n,m; 6 cin>>x>>y; 7 n=x,m=y; 8 while(x!=y){ 9 x>y?x=x-y:y=y-x; 10 } 11 cout<<"最大公因数为:"<<x<<endl; 12 cout<<"最小公倍数为:"<<(n/x)*(m/x)*x; 13 return 0; 14 }
二.辗转相除法
代码(C++描述):
1 /**辗转相除法求最大公因数和最小公倍数*/ 2 #include<iostream> 3 using namespace std; 4 int main(){ 5 int x,y,n,m; 6 cin>>x>>y; 7 n=x,m=y; 8 int r; 9 while(y!=0){ 10 r=x%y; 11 x=y,y=r; 12 } 13 cout<<"最大公因数为:"<<x<<endl; 14 cout<<"最小公倍数为:"<<(n/x)*(m/x)*x; 15 return 0; 16 }
原文链接: https://www.cnblogs.com/chasemeng/p/12831222.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/346504
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!