js计算最大公约数和最小公倍数代码实例
一、计算最大公约数
1、小学时候一般采用质因数分解法,一般使用短除得到结果,下面用一种最初级的方法求最大公约数
function gcd2(a,b){ var result = 1; for(var i = 1; i <= a && i <= b; i++ ){ if(a%i == 0 && b%i == 0 ){ result = i; } } return result; }
2、使用欧里几德算法,辗转相除法。具体原理自行百度。下面给出两种代码算法
递归
function gcd(a,b){ if(b == 0){ return a; } var r = a % b; console.log(r); return gcd(b,r); }
迭代
function GCD(a,b){ var temp; while(b != 0){ temp = a % b; a = b; b = temp; } return a; }
二、最小公倍数,最小公倍数的算法,是两个数的乘积除以最大公倍数
function scm(a,b){ return (a*b)/gcd(a,b); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
这段时间一直比较忙,一忙起来真感觉自己就只是一台挣钱的机器了(说的好像能挣到多少钱似的,呵呵):这会儿难得有点儿空闲时间,想把前段时间开发微信公众号支付遇到问题及解决方法跟大家分享下,这些"暗坑"能不掉就不掉吧,要不然关键时刻出问题,真是让人急的焦头烂额. 双12客户的商城活动正在蓄势进行中,却有用户频频反馈说:支付不了,有问题,并截图如下: 当时问题感觉很奇怪,自己测试多次都ok啊,问题来了都赶紧解决吧,最终找到解决办法: 原因是程序中一个字符串变量被错误的设置为数字类型,解决方法很
-
javascript 静态对象和构造函数的使用和公私问题
先看: 复制代码 代码如下: var objJson={ op1:'objJson option1', fn1:function(){ alert(this.op1) } } 在这种形式的声明下,你可以通过objJson.op1或者objJson.fn1()来直接访问内部的属性,这没有问题.但是如果是这样: 复制代码 代码如下: var objFn=function(){ this.op1='objFn.op1'; this.op2=function(){ alert(this.op1) };
-
js常用自定义公共函数汇总
复制代码 代码如下: String.prototype.trim = function(){ return this.replace(/(^\s*)|(\s*$)/g, ""); } //检查是否是日期格式 function isDate(datestr){ var result = datestr.match(/((^((1[8-9]\d{2})|([2-9]\d{3}))(-)(10|12|0?[13578])(-)(3[01]|[12][0-9]|0?[1-9])$)|(^((1
-
JavaScript自定义函数实现查找两个字符串最长公共子串的方法
本文实例讲述了JavaScript自定义函数实现查找两个字符串最长公共子串的方法.分享给大家供大家参考,具体如下: //查找两个字符串的最长公共子串 function findSubStr(s1,s2){ var S=sstr= "" ,L1=s1.length,L2=s2.length; if (L1>L2){ var s3=s1;s1=s2,s2=s3,L1=s2.length;} for ( var j=L1;j> 0 ;j--) for ( var i= 0 ;i&
-
微信小程序提取公用函数到util.js及使用方法示例
本文实例讲述了微信小程序提取公用函数到util.js及使用方法.分享给大家供大家参考,具体如下: 在小程序中,定义了一项工具文件utils,此文件的js旨在本文件之内有效,当其他子页面想调用其中的js方法或者变量时,需要两步骤: 1:在utils被调用的js文件中,面向对象的方式模型输出: module.exports={要调用的函数名称:要调用的函数名称 }; 2:在要调用的js文件中模块化引入utils的js文件 var object=require("utils被调用的js文件地址&quo
-
Javascript 构造函数,公有,私有特权和静态成员定义方法
复制代码 代码如下: //构造函数 function myClass(message) { //公有属性 this.myMessage = message; //私有属性 var _separator = ' -'; var _myOwner = this; //私有方法 function showMessage() { alert(_myOwner.myMessage); } //特权方法(也是公有方法) this.appendToMessage = function(appendMessag
-
JavaScript数组应用 可依次读取的公告栏文字
JavaScript数组文字 var i = 0; var TextNumber = -1; var TextInput = new Object(); var HelpText=""; var Text = ""; var Speed=50; var message=0; var addPadding="\r\n"; TextInput[0] = "我们庆祝日!"; TextInput[1] = "我们感谢广大朋友
-
js计算最大公约数和最小公倍数代码实例
一.计算最大公约数 1.小学时候一般采用质因数分解法,一般使用短除得到结果,下面用一种最初级的方法求最大公约数 function gcd2(a,b){ var result = 1; for(var i = 1; i <= a && i <= b; i++ ){ if(a%i == 0 && b%i == 0 ){ result = i; } } return result; } 2.使用欧里几德算法,辗转相除法.具体原理自行百度.下面给出两种代码算法 递归 f
-
JS计算斐波拉切代码实例
这篇文章主要介绍了js计算斐波拉切,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 function feibo(a){ if(!a || a <= 0){ throw new Error("参数错误,必须大于0"); }else if(a == 1){ return 1; }else if(a == 2){ return 2; }else{ return feibo(a-1) + feibo(a-2); } } console.
-
基于js实现抽红包并分配代码实例
这篇文章主要介绍了基于js实现抽红包并分配代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 将 50000元随机分给10个人,其中3个人必须分到百位数,4个人分到千位数,3个人分到万位数,每个人所得金额 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta name=&
-
JS计算距当前时间的时间差实例
如下所示: /** * JS获取距当前时间差 * * @param int time 时间戳格式 * */ function get_time_diff(time) { var diff = ''; var time_diff = new Date().getTime() - time; //时间差的毫秒数 //计算出相差天数 var days = Math.floor(time_diff / (24 * 3600 * 1000)); if (days > 0) { diff += days +
-
JS通用方法触发点击事件代码实例
这篇文章主要介绍了JS通用方法触发点击事件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最简单的触发单击事件肯定是elem.click(),平时在不需要考虑兼容性的场合我都是这么干的,但是毕竟这个方法有兼容性(具体兼容性如何没做过测试),所以还是要掌握一个通用的方法. 以下代码是网上比较容易找到的一段代码,我在前面加了一段MouseEvent的判断: /** * 触发单击事件 * @param elem 需要触发事件的DOM对象 */
-
JS隐藏号码中间4位代码实例
本文实例为大家分享了JS隐藏号码中间4位的具体代码,供大家参考,具体内容如下 function resetPhone(phone) { var str = String(phone) var len = str.length; var prev,next; if (len >= 7) { prev = str.slice(-len,-7) next = str.slice(-3) str = prev+"****"+next } else if (len < 7 &
-
JS实现网站楼层导航效果代码实例
壹 ❀ 引言 对于楼层导航而言,还有个重要的功能就是,随着滚动条滚动,达到某层时得同步点亮楼层导航的小图片. 由于我前面也说了不打算使用JQ,所以想着用JS去实现它,实现并不难,主要得弄清滚动满足怎样的条件才应该点亮对应楼层,我们先看看实现效果: 贰 ❀ 实现思路 第一点,因为是由滚动触发的楼层判断,所以肯定离不开onscroll事件. 第二点,我们貌似要获取每个楼层顶端距离视窗顶部的距离,随着滚动条往下滚动,此距离会不断缩小,当接近到某个距离时我们判定此楼层入画,当然其它楼层都满足此判定. 而
-
JS倒计时两种实现方式代码实例
最近做浏览器界面倒计时,用js就实现,两种方式: 一:设置时长,进行倒计时.比如考试时间等等 代码如下: <html> <head> <meta charset="UTF-8"> <title>简单时长倒计时</title> <SCRIPT type="text/javascript"> var maxtime = 60 * 60; //一个小时,按秒计算,自己调整! function Coun
-
js实现各浏览器全屏代码实例
现代浏览器包括ie11,可以直接用h5的全屏api实现 低版本的IE需要通过ActiveX插件实现: //直接上代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <button onclick="fullScreen()">现代浏览器全屏
-
基于python实现计算且附带进度条代码实例
用python算圆周率π 1.准备第三方库pip 打开cmd 输入代码:pip install requests ,随后就会成功 因为小编已经安装好了,所以就不把图截出来了 2.利用马青公式求π 3.用python语言编写出求圆周率到任意位的程序如下: from math import * from tqdm import tqdm from time import * total,s,n,t=0.0,1,1.0,1.0 clock() while(fabs(t)>=1e-6): total+=
随机推荐
- JavaScript 三种创建对象的方法
- div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox
- JS中产生标识符方式的演变
- 用vbs实现防止计算机使用 LMHosts 文件
- VBS教程:VBScript 语句-Select Case 语句
- oracle创建数据库和用户的方法
- ajax的定时调用每5秒调用一次
- javascript运算符——逻辑运算符全面解析
- 使用WAMP搭建PHP本地开发环境
- 修改Mysql root密码的方法
- Docker aufs存储驱动layer、diff、mnt目录的区别介绍
- JavaScript中动态向表格添加数据
- git拉源码maven构建后部署脚本详解
- js以分隔符分隔数组中的元素并转换为字符串的方法
- ruby写扫描当前网页所有url的脚本
- 看UNIX高手的10个习惯第1/2页
- Laravel实现数据库迁移与支持中文的填充
- asp.net上传Excel文件并读取数据的实现方法
- python3 http提交json参数并获取返回值的方法
- Spring @Bean注解配置及使用方法解析