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 相关文章推荐
javascript打开新窗口同时关闭旧窗口
Jan 16 Javascript
javascript图像处理—仿射变换深度理解
Jan 16 Javascript
JQUERY对单选框(radio)操作的小例子
Apr 25 Javascript
JS中怎样判断undefined(比较不错的方法)
Mar 27 Javascript
jquery使用ajax实现微信自动回复插件
Apr 28 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
May 18 Javascript
动态创建按钮的JavaScript代码
Jan 29 Javascript
Bootstrap图片轮播组件Carousel使用方法详解
Oct 20 Javascript
使用原生的javascript来实现轮播图
Feb 24 Javascript
基于Vue中点击组件外关闭组件的实现方法
Mar 06 Javascript
webpack4+Vue搭建自己的Vue-cli项目过程分享
Aug 29 Javascript
vue绑定事件后获取绑定事件中的this方法
Sep 15 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
ajax php传递和接收变量实现思路及代码
2012/12/19 PHP
php去除html标记的原生函数详解
2015/01/27 PHP
javascript语句中的CDATA标签的意义
2007/05/09 Javascript
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
2011/04/27 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
2014/10/14 Javascript
js如何实现点击标签文字,文字在文本框出现
2015/08/05 Javascript
跟我学习javascript的垃圾回收机制与内存管理
2015/11/23 Javascript
JS定义类的六种方式详解
2016/05/12 Javascript
AngularJS bootstrap启动详解及实例代码
2016/09/14 Javascript
js 弹出虚拟键盘修改密码的简单实例
2016/10/10 Javascript
Vue.JS入门教程之处理表单
2016/12/01 Javascript
canvas绘制表盘时钟
2017/01/23 Javascript
详解nodejs通过代理(proxy)发送http请求(request)
2017/09/22 NodeJs
在Vant的基础上封装下拉日期控件的代码示例
2018/12/05 Javascript
微信小程序使用setData修改数组中单个对象的方法分析
2018/12/30 Javascript
详解JavaScript中精度失准问题及解决方法
2020/02/04 Javascript
node.js中fs文件系统模块的使用方法实例详解
2020/02/13 Javascript
浅谈js中的attributes和Attribute的用法与区别
2020/07/16 Javascript
vuex 多模块时 模块内部的mutation和action的调用方式
2020/07/24 Javascript
在vue中通过render函数给子组件设置ref操作
2020/11/17 Vue.js
Python THREADING模块中的JOIN()方法深入理解
2015/02/18 Python
浅谈python写入大量文件的问题
2018/11/09 Python
Python发展简史 Python来历
2019/05/14 Python
Python requests模块基础使用方法实例及高级应用(自动登陆,抓取网页源码)实例详解
2020/02/14 Python
matplotlib对象拾取事件处理的实现
2021/01/14 Python
Python 中如何使用 virtualenv 管理虚拟环境
2021/01/21 Python
英语专业毕业个人求职自荐信
2013/09/21 职场文书
驾驶员安全责任书
2014/07/22 职场文书
机械工程及自动化专业求职信
2014/09/03 职场文书
2014年效能监察工作总结
2014/11/21 职场文书
平安家庭事迹材料
2014/12/20 职场文书
欢迎新生标语2015
2015/07/16 职场文书
《风筝》教学反思
2016/02/23 职场文书
思想品德课教学反思
2016/02/24 职场文书
2019开业庆典剪彩仪式主持词!
2019/07/22 职场文书
将Python代码打包成.exe可执行文件的完整步骤
2021/05/12 Python