JS 用6N±1法求素数 实例教程


Posted in Javascript onOctober 20, 2009

用6N±1法求素数
任何一个自然数,总可以表示成为如下的形式之一:
6N,6N+1,6N+2,6N+3,6N+4,6N+5 (N=0,1,2,…)
显然,当N≥1时,6N,6N+2,6N+3,6N+4都不是素数,只有形如6N+1和6N+5的自然数有可能是素数。所以,除了2和3之外,所有的素数都可以表示成6N±1的形式(N为自然数)。
根据上述分析,我们可以构造另一面筛子,只对形如6 N±1的自然数进行筛选,这样就可以大大减少筛选的次数,从而进一步提高程序的运行效率和速度。
以下代码需要自然数大于10

function fn(num){ 
var arr = []; 
arr.push(2); 
arr.push(3); 
arr.push(5); 
arr.push(7); 
var t = 0; 
for (var i = 3; t < num; i = i + 3) { 
for (var j = 0; j < 2; j++) { 
t = 2 * (i + j) - 1; 
if (t < num && (t % 5 == 0 ? false : t % 7 == 0 ? false : true)) { 
arr.push(t); 
} 
} 
} 
return arr.join(” “); 
} 
document.write(fn(1000));

各位大侠有没有更高效的方法或以上代码有不对的地方,请指出。
Javascript 相关文章推荐
jQuery不间断滚动效果(模拟百度新闻支持文字/图片/垂直滚动)
Feb 05 Javascript
JavaScript使用setInterval()函数实现简单轮询操作的方法
Feb 02 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
Mar 02 Javascript
JavaScript中几种排序算法的简单实现
Jul 29 Javascript
jQuery实现对象转为url参数的方法
Jan 11 Javascript
JS数组操作之增删改查的简单实现
Aug 21 Javascript
微信小程序获取手机网络状态的方法【附源码下载】
Dec 08 Javascript
angular1配合gulp和bower的使用教程
Jan 19 Javascript
小程序实现单选多选功能
Nov 04 Javascript
JavaScript基于数组实现的栈与队列操作示例
Dec 22 Javascript
小程序开发之模态框组件封装
Apr 23 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
Nov 12 Javascript
获取网站跟路径的javascript代码(站点及虚拟目录)
Oct 20 #Javascript
Javascript var变量隐式声明方法
Oct 19 #Javascript
让你的网站可编辑的实现js代码
Oct 19 #Javascript
document.onreadystatechange事件的用法分析
Oct 17 #Javascript
将jQuery应用于login页面的问题及解决
Oct 17 #Javascript
层序遍历在ExtJs的TreePanel中的应用
Oct 16 #Javascript
JavaScript 基于原型的对象(创建、调用)
Oct 16 #Javascript
You might like
十天学会php之第三天
2006/10/09 PHP
PHP中比较两个字符串找出第一个不同字符位置例子
2014/04/08 PHP
访问编码后的中文URL返回404错误的解决方法
2014/08/20 PHP
php微信高级接口群发 多客服
2016/06/23 PHP
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
用javascript实现的仿Flash广告图片轮换效果
2007/04/24 Javascript
js时间日期和毫秒的相互转换
2013/02/22 Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
2013/04/01 Javascript
eclipse如何忽略js文件报错(附图)
2013/10/30 Javascript
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
Yii2使用Bootbox插件实现自定义弹窗
2015/04/02 Javascript
js日期相关函数dateAdd,dateDiff,dateFormat等介绍
2016/09/24 Javascript
js无提示关闭浏览器窗口的两种方法分析
2016/11/06 Javascript
JS/jquery实现一个网页内同时调用多个倒计时的方法
2017/04/27 jQuery
JavaScript登录验证基础教程
2017/11/01 Javascript
angularjs 页面自适应高度的方法
2018/01/17 Javascript
JS中判断某个字符串是否包含另一个字符串的五种方法
2018/05/03 Javascript
解决element ui select下拉框不回显数据问题的解决
2019/02/20 Javascript
详解用async/await来处理异步
2019/08/28 Javascript
python处理json数据中的中文
2014/03/06 Python
Python3离线安装Requests模块问题
2019/10/13 Python
keras实现多GPU或指定GPU的使用介绍
2020/06/17 Python
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
纯CSS3制作的鼠标悬停时边框旋转
2017/01/03 HTML / CSS
CSS3 实现的缩略图悬停效果
2020/12/09 HTML / CSS
俄罗斯优惠券网站:BIGLION
2017/05/21 全球购物
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
英国性能汽车零件和发动机配件在线:Maxpeedingrods
2019/11/05 全球购物
专科应届生求职信
2013/11/24 职场文书
数控机械专业个人的自我评价
2014/01/02 职场文书
环保倡议书500字
2014/05/15 职场文书
促销活动总结模板
2014/07/01 职场文书
俞敏洪一分钟演讲稿
2014/08/26 职场文书
继续教育心得体会(共6篇)
2016/01/19 职场文书
一些让Python代码简洁的实用技巧总结
2021/08/23 Python
解决MySQL报“too many connections“错误
2022/04/19 MySQL