js求最大公约数的两种方法

  1.辗转相除法

function commonDivisor1(num1,num2) {
if ((num1-num2) < 0) {
var k = num1;
num1 = num2;
num2 = k;
}
while (num2 !=0) {
var remainder = num1%num2;
num1 = num2;
num2 = remainder;
}
return num1;
}

2.更相减损法

function commonDivisor2(num1,num2) {
var index=0;
while (num1%2==0 && num2%2 ==0) {
num1 = num1/2;
num2 = num2/2;
index += 1;
}
if ((num1-num2) < 0) {
var k = num1;
num1 = num2;
num2 = k;
}
var cha = num1-num2;
while (cha != num2) {

if (cha -num2>0) {
num1 = cha;

} else {
num1 = num2;
num2 = cha;
}
cha = num1-num2;
}
if (index == 0) {
return cha;
} else {
return cha*index*2;
}

}

时间: 2024-12-27 15:18:17

js求最大公约数的两种方法的相关文章

JS取地址栏参数的两种方法

第一种方法: function GetQueryString(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r!=null)return unescape(r[2]); return null;} 第二种方法: function getParamValue(

求最大公约数的三种方法

一.最大公约数与最小公倍数 最大公约数,属于数论所探究的内容. 最大公约数可以通过下面的三种方法求出来. 最小公倍数呢,它与最大公约数的乘机为所求数之积. 比如求  x,y的最大公约数和最小公倍数 记住这个公式: x*y=最小公倍数*最大公约数 二.求最大公约数的三种方法 ①辗转相除法 算法流程图 int measure(int x, int y) { int z = y; while(x%y!=0) { z = x%y; x = y; y = z; } return z; } 运行结果: ②辗

求最大公约数的两种解法(欧几里得算法和素数分解)

最大公约数的两种解法(欧几里得算法和素数分解) 方法一: 欧几里得算法,又称辗转相除法 定理(欧几里得算法):设a和b是正整数,则存在最大求最大公因子d=(a,b)的一种算法,且存在求一组整数s,t使得d = sa+tb 举个例子:求168和60的最大公约数? 168 = 2 * 60 + 48 60  = 1 * 48 +12 48  = 4 * 12 由此得最大公约数为12 关于最大公倍数 C语言程序代码:很简单就不加注释了 #include<stdio.h> #define SWAP(a

JS访问对象属性的两种方法

var person = { name: "nick" }; console.log(person["name"]); // "nick"; console.log(person.name); // "nick"; 两种方法优缺点:方括号法可以通过变量访问对象的属性,而点表示法不可以: 方括号法必须加双引号,可以是任何字符串: 原文地址:https://www.cnblogs.com/cloudbarrychen/p/1131

c语言编程求两个整数的最大公约数(两种方法)

第一种(for循环) #include <stdio.h> #include <stdlib.h> int main() { int i, min, k, a, b; printf("请输入两个整数:\n"); scanf("%d%d", &a, &b); if (a>b)//此处if else语句可以删除(只是为了少执行几步程序) min = b; else min = a; for (i = min; i>0;

iOS: JS和Native交互的两种方法

背景: UIWebView: iOS 用来展示 web 端内容的控件. 1. 核心方法: - (NSString*)stringByEvaluatingJavaScriptFromString:(NSString *)script; script 就是 JS 代码,返回结果为 js 执行结果. 比如一个 JS function 为 function testFunction(abc){ return abc; }; webview 调用此 JS 代码如下: NSString *js = @"te

JS中字符串倒序的两种方法

var reverse = function( str ){ var stack = [];//生成一个栈 for(var len = str.length,i=len;i>=0;i-- ){ stack.push(str[i]); } return join(''); }; reverse('hey there'); ## 另一种更为简便的方法 var reverse = function( str ){ return str.split('').reverse().join(''); };

js输出26个字母两种方法

方法一 var character = new Array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P",&

js获取url参数的两种方法

js获取参数,在以前我都是用正在去拆分,然后获取,这种方式感觉是最简单的 方式1: function QueryString(item) { var sValue=location.search.match(new RegExp("[\?\&]"+item+"=([^\&]*)(\&?)","i")) return sValue?sValue[1]:sValue } //使用方法 //url=http://www.xxx.