转来的 求素数:
package com.test;
public class TestS extends Thread{
private final int number = 10000000;
private final int nMax = (int) Math.sqrt( number);
private final int []primeArr = new int[number+1];
private int count;
private double timeBegin;
private double timeEnd;
public void run(){
suShu();
}
private void init() {
// TODO Auto-generated method stub
count = 0;
for(int i=1;i<=number;i++){
primeArr[i]=i;
}
}
private void reMove(){
for(int i=2;i<=nMax;i++){
for(int k=i*2;k<=number;k+=i){
primeArr[k]=0;
}
}
}
public void suShu(){
init();
timeBegin = System.currentTimeMillis();
reMove();
timeEnd = System.currentTimeMillis();
//输出素数,并计算素数个数
for(int i=2;i<=number;i++){
if(primeArr[i]!=0){
count++;
}
}
System.out.println("Thread"+getId()+":"+number+"之内总共有"+count+"个素数");
System.out.println("Thread"+getId()+":"+"查找素数总共用时"+(timeEnd-timeBegin)+"毫秒");
}
public static void main(String[] args) {
new Thread(new TestS()).start();
}
}
分享到:
相关推荐
首先,我们需要了解为什么开方根法能提高求素数的效率。传统的检查素数的方法是试除法,即从2到n-1遍历所有整数,看是否有整除的情况。但随着数字增大,这种方法的计算量迅速增加。开方根法的思路是:如果一个数n...
自定义函数求素数(质数).py
最快求素数的算法,求100000000以下所有素数0.3秒 , 在10000000以下的数中找到664579个素数,耗时53毫秒
本项目以"C语言求素数"为主题,旨在帮助初学者理解如何利用C语言编写程序来找到一个数列中的素数。 首先,我们要了解C语言的基础语法。C语言是一种结构化的编程语言,它的基本结构包括变量定义、数据类型、控制结构...
【标题】: "本例是一个求素数的C语言代码" 在编程领域,素数是指大于1且除了1和它自身以外没有其他正因数的自然数。C语言是一种广泛用于系统编程、应用编程和嵌入式系统的高级编程语言。在C语言中,编写求素数的...
### Java求素数的经典算法 #### 一、引言 素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的数。求解素数是计算机科学中的一个经典问题,特别是在密码学等领域有着重要的应用价值。Java作为一门流行...
### 动态规划求素数 #### 背景与目的 在计算机科学与数学领域,素数(或称质数)是指仅能被1和自身整除的大于1的自然数。对于某些应用场景,例如密码学中的RSA算法,需要快速高效地生成或识别大范围内的素数。传统...
在VB(Visual Basic)编程语言中,实现求素数的算法是一项基础且重要的任务。素数是指大于1的自然数,除了1和它自身以外,不能被其他自然数整除的数。例如,2、3、5、7、11等都是素数。下面我们将详细探讨如何使用VB...
在Visual Studio(VS)环境下,使用C#编程语言在窗体中实现求素数的功能是一项常见的练习,旨在帮助开发者熟悉Windows Forms应用开发以及基础的算法实现。素数是指大于1且仅能被1和它自身整除的大于1的自然数。在此...
求素数的C语言版本 求素数的C语言版本 求素数的C语言版本
在Java语言中实现求素数的原根,我们需要以下步骤: 1. **素数判断**:首先需要一个函数来判断输入的数是否为素数。可以采用试除法,从2到这个数的平方根,如果发现有任何能整除的数,那么这个数不是素数。如果没有...
java 求质数实例程序 求质数 源代码 简单易懂
c++关于用C++求素数的源程序
Console.WriteLine("请输入数字:"); int x; //输入的数字 x = Convert.ToInt32(Console.ReadLine()); DateTime da = DateTime.Now; 。。。。。
### 线性筛法求素数的原理与实现 #### 一、线性筛法的概念及优势 线性筛法是一种高效的算法,能够在O(n)的时间复杂度内找到所有不大于n的素数。相比于传统的遍历取余判断素数的方法,线性筛法在需要频繁判断素数的...
在易语言中实现Eratosthenes筛选法求质数的源码可能如下: ```易语言 .整数变量 n, i, j .布尔型数组 质数表 (n) .输入 "请输入要找的质数上限:", n 质数表.全部赋值 (.真) i = 2 .循环 (n) .如果 质数表[i] j...
用厄拉多塞法求素数的C源代码
数组筛选法求素数c++编程
这是一个用java编写的控制台程序,可以求一个数是不是质数,并且把这个数按递减顺序求,一直求到1,一次性的显示判断
并行计算求素数个数包括java、OpenMP、MPI、.NET、MFC、Windows Api等方法 并行计算求素数个数包括java、OpenMP、MPI、.NET、MFC、Windows Api等方法