`
366674654
  • 浏览: 8905 次
文章分类
社区版块
存档分类
最新评论

java求质数(素数)的快速算法

阅读更多
	public static List<Integer> ListPrime(int n) {
		/*
		 * false为质数,true为合数
		 */
		boolean[] primeList = new boolean[n + 1];

		for (int i = 2; i <= n; i++) {
			if (!primeList[i]) {

				int j = i * i;

				if (j > n) // 所有合数都已被标记
					break;
				if (i > 2) {
					/*
					 * 将所有能被此质数整除的奇数标记为合数
					 */
					while (j <= n) {
						primeList[j] = true;
						j = j + i + i;
					}
				} else {
					/*
					 * 将所有大于2的偶数标记为合数
					 */
					while (j <= n) {
						primeList[j] = true;
						j = j + i;
					}
				}
			}
		}
		List<Integer> listPrime = new LinkedList<Integer>();
		if( n > 1 )
			listPrime.add(2);
		for (int i = 3; i <= n; i += 2) {
			if (!primeList[i]) {
				listPrime.add(i);
			}
		}
		System.out.println(listPrime.size());
		return listPrime;
	}
0
0
分享到:
评论

相关推荐

    java求素数的经典算法

    ### Java求素数的经典算法 #### 一、引言 素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的数。求解素数是计算机科学中的一个经典问题,特别是在密码学等领域有着重要的应用价值。Java作为一门流行...

    Java中素数算法非常实用

    ### Java中的素数算法 #### 一、引言 在计算机科学领域,特别是算法与数据结构的研究中,素数检测是一项基本且重要的任务。本文将详细介绍一个简单的Java程序,该程序能够有效地找出并打印出前500个素数。 #### ...

    Java求质数的几种常用算法分析

    "Java求质数的几种常用算法分析" 本文主要介绍了Java中求质数的几种常用算法,并结合实例形式分析了三种比较常见的求质数算法原理及相关实现技巧。 一、根据质数的定义求质数 质数的定义是:只能被1或者自身整除...

    java求素数

    java,很简单的算法求素数

    求素数的Java表示

    java的10000以内的数的素数的求法,算法简单易懂

    sushu.rar_java 素数_求素数

    "java 素数_求素数"这部分描述了压缩文件的核心内容,即用Java语言实现的一个程序,用于找出1到50之间的所有素数。 素数是大于1且只能被1和其自身整除的自然数,例如2、3、5、7、11等。在计算机科学中,尤其是算法...

    简易素数算法导出的经典素数算法

    本篇文章将深入探讨几种经典的素数检测算法,这些算法适用于计算机编程,特别是对于参与ACM竞赛的学生来说,理解并掌握它们是十分有益的。 1. **基础判断法**: 最基础的素数检测方法是遍历从2到n-1的所有整数,...

    java实现打印素数/质数程序

    在编程领域,素数或质数是指大于1且仅能被1和其本身整除的自然数。在Java中实现打印素数的程序是一项基础但重要的任务,这有助于理解和掌握循环、条件判断以及数学逻辑在编程中的应用。下面将详细解释如何通过Java...

    java语言实现求素数的原根

    在Java语言中实现求素数的原根,我们需要以下步骤: 1. **素数判断**:首先需要一个函数来判断输入的数是否为素数。可以采用试除法,从2到这个数的平方根,如果发现有任何能整除的数,那么这个数不是素数。如果没有...

    Java版求质数

    判断一个数是否为质数的静态函数 自己所写的最优算法

    利用JAVA,求素数和。

    在编程领域,尤其是在Java语言中,计算特定范围内素数之和是一个常见的算法问题。这个问题的目的是找到第n个到第m个素数(包括n和m)的总和,其中0 。在这个过程中,我们需要掌握以下几个关键知识点: 1. **素数...

    素数Java程序,用于Java第二版教材上的习题求Java素数

    以下将详细介绍Java编程中如何实现素数检测,并扩展到相关的数学和算法知识。 1. **素数判断算法**: - 最基础的素数判断方法是**试除法**。对于一个给定的数n,我们从2开始尝试除到√n,如果任何数都能整除n,...

    java经典算法 java经典算法

    Java经典算法涵盖了许多在编程和数据结构中常用的方法和技巧,这些算法可以帮助开发者解决各种问题。以下是基于给定文件中的四个程序所体现的关键知识点: 1. **斐波那契数列** (程序1) - 斐波那契数列是这样一个...

    Java求100之内的素数.rar

    本示例中,我们探讨的主题是如何使用Java编程语言来找出100之内的所有素数。素数是自然数中的一个特殊类别,它们只能被1和自身整除,没有其他正因数。在数学上,2是最小的素数,而1则不被认为是素数。 在Java中,...

    Java 算法面试题 判断质数

    在Java编程语言中,判断一个数是否为质数是常见的算法面试题目,因为这涉及到基础的数学知识和编程技巧。质数是指大于1且只有1和它本身两个正因数的自然数。以下是对这个话题的详细阐述: 1. **质数定义**:在数论...

    JAVA算法编程题目及答案.doc

    JAVA算法编程题目及答案 本资源提供了50道JAVA算法编程题目及答案,涵盖了算法设计、数据结构、程序设计等多个方面的知识点。以下是对标题、描述、标签和部分内容的详细解释: 标题:JAVA算法编程题目及答案 本...

    java程序求素数和并输出结果

    本次探讨的主题是“Java程序求10000以内素数和并输出结果”。这不仅是一个基础的编程实践,同时也是对Java语言特性、循环结构、条件判断以及数组操作等多方面技能的综合运用。下面,我们将深入解析这一知识点,包括...

    JAVA经典算法面试39题及答案

    JAVA经典算法面试39题及答案 本资源总结了39道经典的 JAVA 算法面试题目,每个题目都附带答案,涵盖了常见的算法问题,旨在帮助读者更好地掌握 JAVA 编程语言和算法设计。 算法概述 算法是计算机科学中最重要的...

    求素数的方法

    求1到100的素数,不过这个算法可能不是很好,另外,还要有,5个换行输出

Global site tag (gtag.js) - Google Analytics