JavaScript求指定范围内的质数的实现代码分享
程序员文章站
2022-03-22 12:16:30
...
质数是大于1的自然数中,没有除了1和它自身之外其他因子的数。
这篇帖子,将考虑如何求指定范围内的质数。
实现函数有如下的特性:
1.它接受2个参数,代表两个边界,比如getPrimes(0, 30),代表求0到30之间的所有质数。
2.两个参数可以第一个比第二个大,比如getPrimes(30, 0),它依然代表求0到30之间的所有质数。
3.两个边界值都在考虑的范围内。
4.返回值是一个增序的数组,里面包含该范围内的所有质数。
问题的思路:
1.首先,需要一个判断质数的方法。
2.对参数进行处理,判断上边界和下边界。
3.在范围内进行顺序遍历,只要是质数就存入数组。
代码实现:
//判断是否为质数 function isPrime(number) { //0,1,负数肯定不是 if(number < 2){ return false; } var factor = Math.sqrt(number); //注意:这里是"<=factor",而不是"<" //比如说25,factor是5,如果用"<"就会误判 for(var i=2;i<=factor;i++){ if(number % i == 0){ return false; } } return true; } //获取范围内的质数 function getPrimes(start, finish) { //确定上边界 var max = Math.max(start, finish); //确定下边界 var min = Math.min(start, finish); var result = []; //由小到大遍历 for(var i=min;i<=max;i++){ //满足质数条件,存入数组 if(isPrime(i)){ result.push(i); } } return result; } //[] console.log(getPrimes(0, 0)); //[2, 3, 5, 7, 11, 13, 17, 19, 23, 29] console.log(getPrimes(0, 30)); //[2, 3, 5, 7, 11, 13, 17, 19, 23, 29] console.log(getPrimes(30, 0));
以上就是JavaScript求指定范围内的质数的实现代码分享的详细内容,更多请关注其它相关文章!
上一篇: php正则怎么去除注释
下一篇: python import是什么
推荐阅读
-
分享javascript实现的冒泡排序代码并优化
-
PHP实现Javascript中的escape及unescape函数代码分享
-
javascript实现Emrips反质数枚举的示例代码
-
分享javascript实现的冒泡排序代码并优化
-
PHP实现Javascript中的escape及unescape函数代码分享,escapeunescape_PHP教程
-
Javascript实现登录记住用户名和密码功能的代码案例分享
-
javascript实现圣旨卷轴展开效果的示例代码分享
-
PHP实现Javascript中的escape及unescape函数代码分享_PHP教程
-
PHP实现Javascript中的escape及unescape函数代码分享_php实例
-
JavaScript中transform实现数字翻页效果的代码分享(图)