首页 > 代码库 > 求最大公约数和最小公倍数
求最大公约数和最小公倍数
学习C++入门级的题目,求最大公约数和最小公倍数,这里介绍两种求最大公约数的方法,即辗转相除法和辗转相减法。辗转相除法的原理自行百度,辗转相减法的原理就是只要两数不想等就用大数减小数,直至相等,求最小公倍数的方法就是用两数的乘积除以最大公约数。
#include<iostream>using namespace std;int maxf(int a,int b)//辗转相减法{ while(a != b) { if(a > b) return a = a - b; else return b = b - a; } }int maxff(int a ,int b)辗转相除法{ int r; if(a < b) { r = a; a = b; b = r; } if(a % b == 0) return b; else return maxff(b ,a % b); }int main(){ int a,b; while(cin>>a>>b) { cout<<maxff(a,b)<<" "<<(a * b)/maxf(a,b)<<endl;输出最大公约数和最小公倍数 cout<<maxff(a,b)<<" "<<(a * b)/maxff(a,b)<<endl; } return 0;}
求最大公约数和最小公倍数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。