`
liugang594
  • 浏览: 985882 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

求某个数内所有的质数

 
阅读更多

最近发现有一个类:java.util.BitSet,挺好用的。

 

例如在求某个数下所有的质数,可以如下实现:

	public static int[] listPrimesUnder(int number) {
		assert number > 1;
		int count = 0;
		BitSet bs = new BitSet(number);
		for (int i = 2; i <= number; i++) {
			if (bs.get(i - 1)) {
				continue;
			}
			count++;
			int t = i + i;
			while (t <= number) {
				bs.set(t - 1);
				t += i;
			}
		}
		int[] results = new int[count];
		count = 0;
		for (int i = 2; i <= number; i++) {
			if (!bs.get(i - 1)) {
				results[count++] = i;
			}
		}
		return results;
	}

 首先用bitset对象作个占位符,把非质数的数先标识出来。最后再一遍,把质数的数填充返回内容。

 

例如100以内的质数有:

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 

 

分享到:
评论

相关推荐

    使用SAS计算某个整数内所有素数

    通过写SAS宏程序,使用循环语句搜索某个整数内所有的素数

    C# 求某个正整数的素数算法应用程序

    埃拉托斯特尼筛法是一种有效的找出一定范围内所有素数的算法。在C#中,我们可以创建一个bool型数组,表示从2到目标数的所有数,初始值为true,表示假设它们都是素数。然后从2开始,将2的倍数全部标记为false,接着...

    Python 2种方法求某个范围内的所有素数(质数)

    在实际应用中,为了提高效率,通常会采用更优化的算法,如埃拉托斯特尼筛法(Sieve of Eratosthenes),它可以在较短的时间内找出一个大范围内所有的质数。尽管这种方法的实现稍微复杂一些,但对于处理大量数据时,...

    用asp.net写的一段简单代码 求任意区间的素数

    在这个场景中,我们关注的是一个特定的任务:使用ASP.NET编写一段代码来查找并显示指定区间内的素数。 首先,我们需要理解素数的概念。素数是大于1且除了1和其自身外没有其他正因数的自然数,例如2, 3, 5, 7, 11等...

    输出n以内的所有素数 c语言:找出N以内的所有素数

    输出n以内的所有素数c语言:找出N以内的所有素数 输出n以内的所有素数是c语言中的一种常见算法题,旨在找到小于或等于n的所有素数。该算法有多种实现方法,本文将介绍两种常见的方法。 方法一: 筛选法 该方法的...

    用matlab如何求出一个数组中最接近某个数的五个数

    首先,我们需要一个包含多个数值的数组,假设这个数组为`array`,我们要找的是最接近某个目标值`target`的五个数。`target`可以是用户指定的任意数值。 1. **预处理**:确保`array`中不包含重复元素,如果包含,...

    oracle plsql for loop循环 求素数

    ### Oracle PL/SQL For Loop 循环:求素数 在Oracle PL/SQL中,循环是处理重复性任务的关键机制之一。本篇文章将详细介绍如何利用PL/SQL中的三种不同类型的循环(`LOOP`、`FOR` 和 `WHILE`)来实现一个简单的应用...

    判断素数_yes_素数的判断_

    这是一种更高级的方法,适用于寻找一定范围内的所有素数。首先,创建一个从2开始的全为true的布尔数组,然后依次将每个素数的倍数标记为false,最后数组中为true的索引对应的数字就是素数。不过对于单个数的判断,...

    基于jupyter notebook的python编程—–使用列表实现筛选法求素数(输入一个大于 2 的自然数,然后输出小于该数字的所有素数组成的列表)

    python语言对于计算机专业的学生,不管是计算机软件还是物联网,都是很重要的一种编程语言,python未来在人工智能方向上是会有很大的贡献程度...python学习—–使用列表实现筛选法求素数目录一、列表实现筛选法求素数的

    C# 判断一个数是否为素数

    在判断素数的过程中,`for`循环被用来遍历可能的因子,而`if`语句则用于检查某个数是否能被其因子整除。此外,`break`语句用于一旦找到非1且非本身的因子时立即跳出循环,提高效率;`continue`语句用于跳过当前迭代...

    输入一个整数,输出小于等于它的所有素数

    用Java编写的一个小程序,用命令行方式编译,根据提示输入一个整数(long类型),输出所有小于等于它素数

    判断质数并输出

    判断0-n之间的质数,输出质数。 int *s; do { printf("please input n:\n"); scanf("%d",&n); }while(n); s=(int*)calloc(n+1,sizeof(int));

    判断素数labview程序

    多种方法判断素数

    求质数的算法

    - **适用场景**:埃拉托斯特尼筛法适合一次性找出一定范围内所有质数的情况,如生成质数表。试除法则适用于单独验证某个数是否为质数。 - **空间复杂度**:两者都需占用与待处理数值规模相关的空间,但埃拉托斯特尼...

    在一个给定范围的区间内找到该区间所有的质数(素数)

    在编程领域,寻找一个特定范围内所有的质数是一项常见的任务,特别是在算法练习和数学问题解决中。质数,也称为素数,是大于1且仅能被1和它本身整除的自然数。在这个问题中,我们需要在一个给定的闭区间[x, y]内找出...

    质数表.c,输出某个区间的所有质数

    质数表.c

    JavaScript 输入一个数是否为质数

    质数又被称为素数,是指一个大于1的自然数,除了1和它自身外,不能被其它自然数整除 for循环(懂的都懂)就单纯蹭个积分 嘿嘿 :)

    java求素数的经典算法

    本示例中采用的是一个较为简单的求素数方法:遍历所有小于等于某个上限(在这里是`MAX_PRIMES`)的整数,并检查每个数是否为素数。如果一个数不能被之前找到的任何素数整除,则认为它是素数。这种方法虽然简单直观,...

    判断一个数是否为质数

    - **提前退出**:一旦发现`num`能被某个小于等于其平方根的数整除,立即输出“不是质数”并结束程序,避免不必要的计算。 ### 5. 编译与运行环境 - **Turbo C**:一款早期的C语言集成开发环境(IDE),由Borland公司...

Global site tag (gtag.js) - Google Analytics