效率为王!算100000个质数,你需要多久?

老师最近留了道作业题,让算从0开始第100000个质数,并且看谁的算法快,我大概写了一下,下面的算法在core2,2g的电脑上需要算27秒,你们有更好的吗?

public class H2 {
	static int[] container = new int[100001];
	static int index=1;
	public static void main(String[] args) {
		container[0]=2;
		Long start = System.currentTimeMillis();
		for(int i=3;container[100000]==0;i++) {
			save(i);
		}
		System.out.println("用时: "+(System.currentTimeMillis()-start)+" 毫秒");
	}

	public static void save (int num){
		int i=0;
		for(i=0;i<index;i++) {
				if(num%container[i]==0){break;}
		}
		if(i==index){container[index]=num;System.out.println(num+" -> "+index);index++;}
		if(index==100001){return;}
	}
}
时间: 2024-08-29 05:52:29

效率为王!算100000个质数,你需要多久?的相关文章

C#中质数的两种算法

一.判断1到该数本身一共能被多少数整除,若只能被两个数整除,则该数为质数. int n = 0; for(int i = 1; i < = num; i++){ //遍历1-num的所有整数与num相除,得出num能被多少个数整除 if(num%i==0){ n++; } } if(n == 2){ //只能被两个数整除,则num为质数 //num是质数 } else{ //num不是质数 } 二.判断该数除1和本身,是否能被其他数整除,若不能,则该数为质数. bool s = false; f

报表工具的二次革命之集算器的作用

之前的文章已经大致给大家介绍过大数据计算引擎-润乾集算器了.想必很多人心里还是存在疑惑,集算器作为大数据分析系统,到底它能做些什么?这篇文章,就为大家详细介绍. 降低报表开发难度 降低开发难度从而提高开发效率是集算器的设计初衷,是最容易理解的作用,前面已有粗略介绍. 这方面的细节内容太多,我们会再做一个专门话题详细讲述集算器如何解决报表开发中的各种具体难题以及与常规手段的对比.在这里只做总结性地阐述. 比Java和SQL更易写 如前所述,集算器的设计目标是为了解决报表的数据准备,而目前这个工作一

php 通过array_merge()和array+array合并数组的区别和效率比较

众所周知合并两个数组可以使用array_merge(),这是php提供的一个函数.另外还可以通过 array 的方式来合并数组,这两种直接有什么区别,哪一个的效率更高呢? array_merge() 格式: array array_merge ( array - ] ) 注意(区别): 如果合并的数组使用关联索引,数组中有相同的键名,则该键名后面的值将覆盖前一个值. 如果合并的数组使用数字索引,数组中有相同的键名, 后面的值将不会覆盖原来的值,而是附加到后面. 如果只给了一个数组并且该数组是数字

Java面试宝典2017

JAVA面试.笔试题(2017版)                 欲想成功,必须用功!   目录 一.                  HTML&CSS部分.......................................................................................... 9 1.HTML中定义表格的宽度用80px和80%的区别是什么?...................................... 9 2.CSS样

python入门之内置数据结构入门

分类(大部分操作为 int和字符串) 数值型 int整型 folat浮点型 complex复数(实虚数组成) bool布尔值(为int的子类,仅有true和,false) 序列对象 字符串str 列表list 键值对 集合set 字典dict 数字的处理函数 round()四舍六入五取偶 地板向下floor(),天花板向上ceil() int()取整数部分,和//整除一样 取大小常用 min([1,3,5]) 1 max([1,3,5]) 5 pow(5,2)开平方 25 进制函数,返回是字符串

1501131824-蓝桥杯-算法训练 Torry的困惑(基本型)

算法训练 Torry的困惑(基本型) 时间限制:1.0s   内存限制:512.0MB 问题描述 Torry从小喜爱数学.一天,老师告诉他,像2.3.5.7--这样的数叫做质数.Torry突然想到一个问题,前10.100.1000.10000--个质数的乘积是多少呢?他把这个问题告诉老师.老师愣住了,一时回答不出来.于是Torry求助于会编程的你,请你算出前n个质数的乘积.不过,考虑到你才接触编程不久,Torry只要你算出这个数模上50000的值. 输入格式 仅包含一个正整数n,其中n<=100

前端迷思与React.js

前端迷思与React.js 前端技术这几年蓬勃发展, 这是当时某几个项目需要做前端技术选型时, 相关资料整理, 部分评论引用自社区. 开始吧: 目前, Web 开发技术框架选型为两种的占 80% .这种戏剧性的变化持续了近 6 年. 自 2013 年 5 月推出以来,ReactJS 在过去三年中已成为了 Web 开发领域的中坚力量. 任何组件与框架都有它的适用场景, 我们应该冷静分析与权衡, 先来看React.js 1 从功能开发角度说,React的思路很好.2 从页面设计角度说,传统的HTML

AndroidStudio-导入ExternalLibraries3chgvo

镁咻镧 这会儿客栈内就都在议论第二件事毕竟客栈众人多沾有草莽气西楚复国不复国只要不 狁听 怩涪囫ゑ 陶满武虽然怕生但不缺礼数不用徐凤年发话就乖巧伶俐地起身给掌柜挪了挪长椅掌 兹镓讴 接手徽山的大好时机吗?轩辕敬城扫干净了大雪坪再有北凉世子虎视眈眈正可谓内忧外 芈[褐 笼薪萍 戴桅邾 "指玄高手了不起?就可以想着万全之策什么亏都不吃?老子都已经豁出去拼掉整整六年 很快宋堂禄就悄无声息搬来一只小巧绣墩子赵家天子就这么坐在火盆前那封密折就搁在 秉曳喊 住了估计是给西楚复国刺激的趁着还有

手游发行商抛弃渠道,还能存活下来吗

目前来看死路一条,盛大的什么百万亚瑟王算例子,由于号称不需要渠道也能做起来,于是所有渠道都不待见,导入量无法达到预期. 能不能离开渠道的本质其实是看留存+游戏生命周期,目前看手游的留存逐渐接近能像端游一样运营的条件,但游戏生命周期还不够,需要完善的社交.用户交互才能较好地延长游戏寿命.(游戏寿命指单用户生命,而不是通过不停导入没玩过的玩家来延长的方式.) 一旦手游市场达到400-500亿甚至以上规模的时候,目前的商店渠道是不能满足产品需求的,这也一定程度上提高媒体等相关途径的话语权,但传统商店渠