`

只用一行代码求出最大公约数js版

阅读更多

此方法主要用到这样一个定理:a和b的公约数==b和a%b的公约数==a%b和b%(a%b)的公约数…………;

另外要知道.a和0的公约数==a;

普通版:

	//求最大公约数
	function Mgn(num1,num2){
		var temp=0;
		while(num2!=0){		//当num2==0时,最大公约数为num1
			temp=num1%num2;
			num1=num2;
			num2=temp;
		}
		return num1;
	}
	var p=Mgn(0,-15);
	var q=Mgn(45,81);
	var u=Mgn(-15,3);
	console.log(p);//-15
	console.log(q);//9
	console.log(u);//3

改进版(极简版):

	function Mgn(num1,num2){
		return num2!=0 ? Mgn(num2,num1%num2) : num1;//整个函数的实现只需要一行代码
	}
	var p=Mgn(0,-15);
	var q=Mgn(45,81);
	var u=Mgn(-15,3);
	console.log(p);//-15
	console.log(q);//9
	console.log(u);//3

 

1
1
分享到:
评论

相关推荐

    计算最大公约数C语言代码

    用辗转相除法,计算最大公约数的C语言代码。

    欧几里德算法求最大公约数——C++代码

    欧几里得算法,也称为辗转相除法,是计算两个正整数最大公约数(Greatest Common Divisor, GCD)的一种经典方法。该算法基于以下原理:两个正整数a和b(a>b)的最大公约数等于a除以b的余数c和b之间的最大公约数。...

    c++求最大公约数

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

    利用三种算法求最大公约数

    分解质因数法是通过将两个数分别分解为质因数,然后找出它们共同的质因数并相乘得到最大公约数。例如,12 = 2×2×3,18 = 2×3×3,它们的最大公约数是2×3=6。这种方法在处理大数时效率较低,因为分解质因数的...

    如何用c语言求最大公约数和最小公倍数

    利用最大公约数可以很方便地计算出最小公倍数。公式为:`LCM(a, b) = |a * b| / GCD(a, b)`。这里的`|a * b|`表示`a`和`b`的乘积的绝对值。 #### 实现示例 接下来展示如何结合最大公约数来计算最小公倍数: ```c ...

    对求最大公约数进行白盒测试

    ### 对求最大公约数进行白盒测试的知识点详解 #### 实验目的 - **掌握静态白盒测试方法及一般要求**:了解如何通过分析源代码结构来发现软件缺陷,包括但不限于代码审查、符号执行等技术。 - **掌握白盒测试用例的...

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

    用LabVIEW求最大公约数和最小公倍数。可以自行选择数据。

    Verilog求最大公约数

    在这个特定的项目中,我们关注的是如何使用Verilog来实现一个计算两个数最大公约数(Greatest Common Divisor, GCD)的功能。 最大公约数是指能同时整除两个或两个以上整数的最大正整数。求解最大公约数有多种方法...

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

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

    c++代码用递归法求最大公约数

    这个是用递归法来写最大公约数,当然原算法还是欧几里得算法;只不过代码比较简洁

    输出m,n的最大公约数和最小公倍数代码

    从给定的文件标题“输出m,n的最大公约数和最小公倍数代码”及描述“输出m,n的最大公约数和最小公倍数,大家共同学习。”可以看出,该文件旨在通过编程实现这一数学功能,帮助读者理解并掌握最大公约数和最小公倍数的...

    最大公约数算法

    - **模运算**:在模逆运算中,需要求出一个数对另一个数的最大公约数来找到逆元。 - **算法优化**:在某些算法中,如快速傅里叶变换(FFT),最大公约数可以帮助优化数据排列。 6. **性能分析**: 欧几里得算法...

    求最大公约数的代码

    ### 求最大公约数的代码 #### 一、辗转相除法求最大公约数(Greatest Common Divisor, GCD) 辗转相除法是一种高效计算两个正整数最大公约数的方法,它基于一个基本原理:两个整数的最大公约数等于其中较小数与两...

    FPGA求最大公约数及最小公倍数verilog

    基于FPGA开发板的两位数求最大公约数和最小公倍数的设计,该设计中利用辗转相减法求得公约数与公倍数,且两个数的数值可通过按键修改,设计灵活可靠。该设计基于vivado开发,并带有testbench文件,方便仿真学习。

    输入两个正整数m和n,求其最大公因数和最小公倍数

    Java练习题:输入两个正整数m和n,求其最大公因数和最小公倍数

    求最大公约数VC代码

    在编程领域,最大公约数(Greatest Common Divisor, GCD)是一个常见的数学概念,用于找出两个或多个整数的最大公共因子。在这个场景中,我们关注的是如何在Visual C++(简称VC)环境下编写程序来计算两个数的最大公...

    求最大公约数

    根据给定的文件信息,我们可以总结出以下关于“求最大公约数”的相关知识点: ### 一、最大公约数(GCD)概念 最大公约数,也称为最大公因数,是指两个或多个整数共有约数中最大的一个。例如,数字8和12的公约数有...

    C语言求两个数的最大公约数和最小公倍数

    在IT领域,尤其是在编程与算法设计中,求解两个数的最大公约数(Greatest Common Divisor,简称GCD)和最小公倍数(Least Common Multiple,简称LCM)是基础而重要的数学概念,广泛应用于各种计算机科学场景,如数据...

    基础算法-python求最大公约数和最小公倍数

    python求最大公约数和最小公倍数 #辗转相除法 def gcd(a,b): #最大公约数函数,且最小公倍数 = 两个数相乘 / 最大公约数 if b == 0: return a else: return gcd(b,a%b) print("请输入两个数:") j,k = input()....

    求两数最大公约数求两数最大公约数

    最大公约数(Greatest Common Divisor,GCD)也被称为最大公因数,是两个或多个非零整数共有约数中最大的一个。在数学上,最大公约数可以用多种方法来计算,例如欧几里得算法、辗转相除法、更相减损法等。 1. **...

Global site tag (gtag.js) - Google Analytics