码迷,mamicode.com
首页 > 其他好文 > 详细

求最大公约数和最小公倍数

时间:2014-12-20 00:37:45      阅读:306      评论:0      收藏:0      [点我收藏+]

标签:

  学习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;
}

 

  

 

  

求最大公约数和最小公倍数

标签:

原文地址:http://www.cnblogs.com/coderchuanyu/p/4174885.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!