JS求1到任意数之间的所有质数的方法详解
何为质数: 只能被1 和 自身 整除的数;
方法: 利用js中求模, 看是否有余数. ---> 3%2 = 1; 5%2 = 3.........
代码如下:
function test (n) { // 判断一个数是否能被自身小的正整数(除开1和自身)整除.如果能整除则不是质数,否则反之. for(var k = 2;k < n;k++) { if(n % k === 0) { return false; } } return ture; }
以上方法是为判断一个数是否为质数;
那如何判断1到任意数之间的所有质数呢, 就比较简单;
代码如下:
function primeNumber (num) { var arr = [1]; // 遍历任意数, 利用test方法判断遍历数是否为质数;如果是, 就加入数组; for(var i = 2;i < num + 1; i++) { if(test(i)) { arr.push(i); } } return arr; }
到此完结. 核心test方法, 遍历时, 碰到可以被整除时, 就是要return 跳出遍历, 否则就会一直遍历.
总结
以上所述是小编给大家介绍的JS求1到任意数之间的所有质数的方法详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
相关推荐
-
JavaScript实现找质数代码分享
好吧,也没有背景说明,没有高深技能,纯粹无聊,想找出10000内的所有质数.那么就开始了: function zhishu(num) { if (num == 1) { return false; } if (num == 2) { return true; } for (var i = 2; i <= Math.sqrt(num); i++) { if (num % i == 0) { return false; } } return true; } 使用实例: var zhishuArray
-
JavaScript判断数字是否为质数的方法汇总
前言 今天看到一个题目,让判断一个数字是否为质数.看上去好像不难.因此,我决定实现一下. DOM结构 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>计算500以内的质数并输出</title> <meta name="viewport" content="width=d
-
javascript实现计算指定范围内的质数示例
本文实例讲述了javascript实现计算指定范围内的质数.分享给大家供大家参考,具体如下: 质数(prime number)又称素数,有无限个.质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数. 算法:判断一个数是否是质数,只需判断它是否能被小于它开跟后后的所有数整除,这样做的运算就会少了很多,因此效率也高了很多.算法来源:<Java求质数的几种常用算法> javascript计算指定范围内的质数源代码: <!DOCTYPE html PUBLIC "
-
javascript实现Emrips反质数枚举的示例代码
今天看到一个kata,提出一个"emirps"的概念:一个质数倒转后得到的是一个不同的质数,这个数叫做"emirps". 例如:13,17是质数,31,71也是质数,13和17是"emirps". 但是质数757,787,797是回文质数,这意味着反转的数字与原始数字相同,所以它们不被认为是"emirps". 题目要求写一个函数输入一个正整数n,返回小于n的"emirps"的个数,其中最大"emi
-
JS求1到任意数之间的所有质数的方法详解
何为质数: 只能被1 和 自身 整除的数; 方法: 利用js中求模, 看是否有余数. ---> 3%2 = 1; 5%2 = 3......... 代码如下: function test (n) { // 判断一个数是否能被自身小的正整数(除开1和自身)整除.如果能整除则不是质数,否则反之. for(var k = 2;k < n;k++) { if(n % k === 0) { return false; } } return ture; } 以上方法是为判断一个数是否为质数; 那如何判断1
-
C++中可以接受任意多个参数的函数定义方法(详解)
能够接受任意多个参数的函数,可以利用重载来实现.这种函数的执行过程类似于递归调用,所以必须要有递归终止条件. #include <iostream> #include <bitset> void print() {} // 递归终止条件.这是必需的. template<typename Type, typename... Types> void print(const Type& arg, const Types&... args) { std::cou
-
JS中Json数据的处理和解析JSON数据的方法详解
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C.C++.C#.Java.JavaScript.Perl.Python等).这些特性使JSON成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). JSON的规则很简单: 对象是一个无序的"'名称/值'对"集合.一个对象以&quo
-
JS实现获取GIF总帧数的方法详解
目录 前言 写在前面 思路分析 什么是Gif 组成结构 解析原理 数据块分析 Header Block Logical Screen Descriptor Global Color Table Graphics Control Extension Image Descriptor Image Data 实现代码 测试用例 插件地址 前言 有一个Gif图片,我们想要获取它的总帧数,超过一定帧数的图片告知用户不可上传,在服务端有很多现成的库可以使用,这种做法不是很友好,前端需要先将gif上传至服务端
-
JS中call/apply、arguments、undefined/null方法详解
a.call和apply方法详解 -------------------------------------------------------------------------------- call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call 方法可以用来代替另一个对象调用一个方法.call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指
-
vue组件之间的数据传递方法详解
(1)props属性: 在父组件中,可以通过子组件标签属性的形式将数据或者函数传给子组件,子组件通过props去读取父组件传过来的数据 用法 父组件传数据给子组件: 一般的属性值都是用来给子组件展示的 子组件传数据给父组件 属性值为函数类型的,一般是用来子组件向父组件传递数据,子组件通过调用父组件传过来的函数,可以修改父组件的状态数据 缺点: 隔层组件间传递: 必须逐层传递(麻烦) 兄弟组件间: 必须借助父组件(麻烦) 注意: //子组件获取父组件传过来的值 props: { obj: {//o
-
JS截取字符串的方法详解
substr() 方法 substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符. stringObject.substr(start,length) start:必需.要抽取的子串的起始下标.必须是数值.如果是负数,那么该参数声明从字符串的尾部开始算起的位置. 也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推. length:可选.子串中的字符数.必须是数值.如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串. 记住:
-
JS实现数组随机排序的三种方法详解
目录 1.利用数组方法sort实现随机排序 2.洗牌算法实现随机排序 3.洗牌算法深入分析 全部代码 1.利用数组方法sort实现随机排序 实现随机排序方法还是很多的,用for循环是可以写的,用Lodash等三方js方法库也行.但个人以为使用sort比较方便,但是他又缺点,缺点就是不够那么的随机,我看过sort运行机制后,发现他竟然是利用一个比较器两两比较出来的. var arr = [1, 2, 3, 4, 5] arr.sort(function () { return Math.rando
-
D3.js实现折线图的方法详解
前言 D3.js是一个帮助开发者操纵基于数据的文档的JavaScript类库,在<D3.js实现柱状图的方法详解>中已经给大家介绍过如何用D3.js来实现一个简单的柱状图了,今天我们来学习用D3.js来实现折线图,感兴趣的朋友们下面来一起看看吧. 折线图由坐标轴.线条和点组成.和实现柱状图一样,我们还是先把大概的画图框架搭起来,代码如下(别忘了添加D3.js): <!DOCTYPE html> <html lang="en"> <head>
-
详解JS数组Reduce()方法详解及高级技巧
基本概念 reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值. reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调用 reduce 的数组. 语法: arr.reduce(callback,[initialValue]) callback (执行数组中每个值的函数,包含四个参数) previousValue (上
随机推荐
- win平台oracle rman备份和删除dg备库归档日志脚本
- 让Sqlite脱离VC++ Runtime独立运行的方法
- angular.fromJson与toJson方法用法示例
- 学习网址
- Oracle 存储过程教程
- js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
- linux下 root 登录 MySQL 报错的问题
- 详解Node.Js如何处理post数据
- java实现单链表之逆序
- Js切换功能的简单方法
- jQuery焦点图左右转换效果
- jQuery插件passwordStrength密码强度指标详解
- React Native预设占位placeholder的使用
- JavaScript多级下拉菜单代码(简单实用)
- java右下角弹窗示例分享
- 巧用缓存提高asp程序的性能
- 深入理解c++模板中的class与typename
- C# Oracle批量插入数据进度条的实现代码
- 小程序实现展开/收起的效果示例
- C#程序异常关闭时的捕获