`
沐刃青蛟
  • 浏览: 7481 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

辗转相处求最大公约数

阅读更多

无言面对”江东父老“了,接触编程一年了,今天发现还不会辗转相除法求最大公约数。惭愧惭愧!

 

为此,总结一下以方便日后忘了好查找。

 

1.输入要比较的两个数a,b

 

忽略:2.比较大小(因为后面要的是大的数对小的数做%操作)

 

3.辗转相除(用循环不停的取余,如a%b,直至b=0)

 

4.最后的a为两数的最大公约数

 

于是代码如下:

//求最大公约数的函数
int maxGY(int a,int b)
{
	//判断大小(可以不判断)
	if (a < b)
	{
		int temp = a;
		a = b;
		b = temp;
	}
	while (b!=0)
	{
		//大的对小的取余
		int m = a%b;
		a = b;
		b = m;
	}
	//返回最大公约数
	return a;
}

 

有了最大公约数,最小公倍数也就easy了,

最小公倍数=数1*数2/最大公约数。

代码如下:

 

//求最小公倍数的函数
int minGB(int a,int b)
{
	//先求最大公约数
	int m = maxGY(a, b);
	int n = a*b / m;
	return n;
}

 

 

 

分享到:
评论
2 楼 沐刃青蛟 2015-07-09  
好吧
1 楼 kyzaqlx 2015-06-29  
为什么一定要比较两个数的大小先呢?不需要的~~~

相关推荐

    用辗转相除法求最大公约数

    根据给定的信息,我们可以提取并总结出以下与“用辗转相除法求最大公约数”相关的知识点: ### 1. 辗转相除法(欧几里得算法)原理 辗转相除法是一种用于计算两个正整数最大公约数(Greatest Common Divisor, GCD...

    辗转相除法求最大公约数

    m = 9147485 n = 5147480 辗转相除法求最大公约数 最大公约数=?

    JAVA辗转相除法求最大公约数

    利用辗转相除法求两个数的最大公约数。要求能接受用户的输入,输出最大公约数。 辗转相除法原理: 已知a,b,c为正整数,若a除以b余c,则(a,b)=(b,c),其中用(a,b)来表示a和b的最大公约数。(证明过程请参考其它...

    欧几里德辗转相除法求最大公约数的C++实现

    欧几里德辗转相除法求最大公约数的C++实现 嗯,很经典、很简单的一个算法,是很多算法书的开篇第一个算法

    POINTERS ON C 第七章编程练习2辗转相除法求最大公约数

    辗转相除法计算两个整形参数的最大公约数。VC6.0编译通过。

    辗转相除法,求最大公约数和最小公倍数

    辗转相除法,求最大公约数和最小公倍数。(网上收集的,自己学习用)。Ubuntu10.04+GCC4.4.3

    C语言程序设计-用辗转相除法求两个整数的最大公约数;.c

    C语言程序设计-用辗转相除法求两个整数的最大公约数;.c

    辗转相除法求最大公约数,计算过程说明和C语言实现

    辗转相除法,又称为欧几里得算法,是一种古老且高效的求解两个非负整数最大公约数(Greatest Common Divisor, GCD)的方法。该算法基于一个基本原理:两个整数a和b(假设a&gt;b)的最大公约数等于b和a除以b的余数的最大...

    辗转相除法求最大公因子/最大公约数

    在实际应用中,辗转相除法不仅用于求最大公因子,还在简化分数、解决同余方程、素性测试等领域发挥着重要作用。例如,在数论中,欧几里得算法是扩展欧几里得算法的基础,后者可以找出两个数的最大公因子以及一组整数...

    辗转相除法最大公约数.zip_C/C++_

    在C/C++编程语言中,实现辗转相除法求最大公约数的过程通常涉及以下步骤: 1. 定义两个整数变量a和b,分别存储要比较的两个数。 2. 使用while循环,条件为b不等于0。这是因为当b为0时,a即为最大公约数。 3. 在循环...

    最大公约数辗转相除法

    ### 最大公约数辗转相除法 #### 一、引言 最大公约数(Greatest Common Divisor,简称 GCD)是指能同时整除两个或多个整数的最大正整数。在数学和计算机科学领域中,求解最大公约数是一个非常基础且重要的问题。...

    java实现辗转相除法求最大公约数

    辗转相除法求最大公约

    Java中使用辗转相除法求最大公约数

    * 使用辗转相除法求最大公约数 * @param a 第一个整数 * @param b 第二个整数 * @return a和b的最大公约数 */ public static int gcd(int a, int b) { while (b != 0) { int temp = a % b; // 计算a除以b的...

    辗转相除法(算法源代码)

    辗转相除法,又称欧几里得算法,是求解两个正整数最大公约数(Greatest Common Divisor, GCD)的一种古老而有效的方法。这个算法基于以下定理:对于任意两个正整数a和b(a&gt;b),它们的最大公约数等于a除以b的余数c和...

    辗转相除法证明 辗转相除法证明

    辗转相除法是一种在数学领域广泛应用的算法,主要用于求解两个正整数的最大公约数(GCD)。下面,我们将深入探讨辗转相除法的原理、证明及其应用。 ### 辗转相除法的基本原理 辗转相除法基于一个重要的数学事实:...

    Python基于辗转相除法求解最大公约数的方法示例

    在数学和计算机科学中,求解两个整数的最大公约数(Greatest Common Divisor,GCD)是一个常见的问题,辗转相除法(也称欧几里得算法)是一种简单而有效的方法。Python作为一种高级编程语言,它提供了丰富的库和简洁...

    c++求最大公约数

    有关c++求最大公约数的代码,用的是辗转相除法,很简单的算法过程,主要是求最大公约数

    辗转相除法求最大公约,两个数的最大公约数

    辗转相除法,又称欧几里得算法,是一种古老的用于计算两个正整数最大公约数(Greatest Common Divisor, GCD)的方法。该方法基于一个数学原理:对于任意两个正整数a和b(a&gt;b),它们的最大公约数等于a除以b的余数c和b...

Global site tag (gtag.js) - Google Analytics