文档章节

求质数的BitSet算法

小小明童鞋
 小小明童鞋
发布于 2016/12/12 14:27
字数 120
阅读 28
收藏 0
import java.util.*;

public class BitSetTest {

	public static void main(String[] args) {

		long begin = System.currentTimeMillis();

		BitSet sieve = new BitSet(54115297);

		int size = sieve.size();

		for (int i = 2; i < size; i++)

			sieve.set(i);

		int finalBit = (int) Math.sqrt(sieve.size());

		//这个for if 写的太风骚
		for (int i = 2; i < finalBit; i++)

			if (sieve.get(i))

				for (int j = 2 * i; j < size; j += i)

					sieve.clear(j);

		int counter = 0;

		for (int i = 1; i < size; i++) {

			if (sieve.get(i)) {
				++counter;
			}
			//求 54115291是第几个质数
			if (sieve.get(i) && i == 54115291) {

				System.out.printf("%5d", i);
				System.out.println();
				long end = System.currentTimeMillis();

				System.out.println("求第" + counter + "个质数耗时:" + (end - begin)
						+ "毫秒");
			}

		}

	}

}

 

© 著作权归作者所有

共有 人打赏支持
小小明童鞋
粉丝 26
博文 77
码字总数 61759
作品 0
南京
程序员
求质数的各种算法

首先声明本人水平有限,仅仅做一下记录,有错的地方请指正,文章垃圾请包容!! 在网上不小心浏览到一篇技术博客,叫做《求质数算法的N种境界(N>10)》,写得很好,有兴趣的读者自己去搜索。...

勤奋的人生
2017/04/23
0
0
RSA的安全性---学习笔记(不包含数学关系的推导)

最近了解了RSA算法的安全性的基本原理,简单记录一下方便以后回顾(不包含数学公式的推导以及产生大质数和求模反元素的具体算法)。 RSA加密解密的数学公式: c=m^e%n m=c^d%n 需要的数学条件:...

duanbowen
2017/05/17
0
0
Bloom Filter 大规模数据处理利器

最近工作中涉及到bloom Filter,真是一把科研利器呀,大数据、网络、云等等都可以用到! Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在一些需要快速判断...

SibylY
2013/07/25
0
0
刷题常用模板 by flytosky2015

声明模板: 搜索 BFS 图论 LCA最近公共祖先+计算树中两点最短距离 最短路 优先队列优化的Dijkstra O(E*log(E)) 最小生成树 拓扑排序 对一个DAG进行拓扑排序有两种方法,广度优先搜索和深度优...

chudongfang2015
2017/02/10
0
0
数论基础 扩展欧几里得 线性筛 逆元 欧拉函数 Lucas定理

扩展欧几里得 欧几里得算法,又叫辗转相除法,用于求两个数的最大公约数(gcd)。 由此可以得到最小公倍数 (先除防止溢出)。 扩展欧几里得,是用于解出方程 的一组解的。比如方程 ,可以解...

myjs999
2017/10/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

20.27 分发系统介绍~ 20.30 expect脚本传递参数

分发系统介绍分发系统-expect讲解(也就是一个分发的脚本)场景:业务越来越大,网站app,后端,编程语言是php,所以就需要配置lamp或者lnmp,最好还需要吧代码上传到服务器上;但是因...

洗香香
16分钟前
1
0
设计一个百万级的消息推送系统

前言 首先迟到的祝大家中秋快乐。 最近一周多没有更新了。其实我一直想憋一个大招,分享一些大家感兴趣的干货。 鉴于最近我个人的工作内容,于是利用这三天小长假憋了一个出来(其实是玩了两...

crossoverJie
22分钟前
1
0
软件架构:5种你应该知道的模式

Singleton(单例模式)、仓储模式(repository)、工厂模式(factory)、建造者模式(builder)、装饰模式(decorator)……大概每个上课听讲的程序员都不会陌生——软件的设计模式为我们提供...

好雨云帮
34分钟前
2
0
OSChina 周二乱弹 —— 这只是一笔金钱交易

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @小小编辑:推荐歌曲《暮春秋色》- 窦唯 / 译乐队 《暮春秋色》- 窦唯 / 译乐队 手机党少年们想听歌,请使劲儿戳(这里) @我没有抓狂:跨服聊...

小小编辑
46分钟前
405
14
df命令、du命令 、磁盘分区

9月25日任务 4.1 df命令 4.2 du命令 4.3/4.4 磁盘分区 4.1、命令 :df #磁盘空间使用情况 [root@zgxlinux-02 ~]# df 按字节显示 1000Byte=1KB 1000KB=1MB 1000MB=1GB ...

zgxlinux
54分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部