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

求指定整数以内所有的素数

J# 
阅读更多
import java.lang.Math;

public class PrimeNumber {
	
	public static void main(String[] args) {
		int number = 100;
		PrimeNumber p = new PrimeNumber();
		try {
			boolean[] primeNumber = p.getPrimeNumber(number);
			for (int i = 0; i < primeNumber.length; i++) {
				if(!primeNumber[i]) {
					System.out.println(i);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public boolean[] getPrimeNumber(int number) throws Exception {
		if(number < 1) {
			throw new Exception("所求数值不符合要求");
		}
		boolean[] container = new boolean[number+1];
		container[0] = true;
		container[1] = true;
		for(int i = 2; i <= number; i++) {
			if(!container[i])
			{
				//如果是2则不需要判断是否为素数
				if(i == 2 || i==3 || i==5 || i==7) {
					for(int j = 2; j <= number/i; j++) {
						int hole = i*j;
						container[hole] = true;
					}
				}
				else {
					int sqrt = (int)Math.sqrt(i);
					for(int j = 2; j <= sqrt; j++) {
						if(i%j == 0) {
							container[i] = true;
							break;
						}
					}
					for(int j = 2;; j++) {
						if(i*j > number) {
							break;
						}
						container[i*j] = true;
					}
				}
			}
		}
		return container;
	}
}
 
分享到:
评论

相关推荐

    Python求区间正整数内所有素数之和的方法实例

    【描述】求m-n以内所有素数之和并输出。‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬...

    LabView 计算整数N内所有的素数

    在这个特定的示例中,“LabView 计算整数N内所有的素数”指的是利用LabView来编写一个程序,该程序能够找出从1到一个指定整数N之间所有素数。 素数是大于1且除了1和它自身以外没有其他正因数的自然数。判断一个数...

    输出任意两个整数之间的所有素数

    上述Java程序通过一系列的基础编程概念和技术实现了输出两个整数之间的所有素数的功能。它利用了用户输入、循环结构、条件判断以及方法定义等重要的编程技术。这种类型的练习有助于加深对Java语言的理解和掌握,并且...

    第二次作业:求100以内的素数_素数_

    在这个程序中,`isPrime`函数用于判断一个整数是否为素数,`printPrimes`函数则遍历指定范围内的所有整数,调用`isPrime`并打印出素数。`main`函数设置n为100,然后调用`printPrimes`来输出100以内的所有素数。 ...

    找出范围内所有质数

    这个程序需要你输入一个整数,该程序能找出从1到该整数内的所有质数并且输出。

    输出10000以内的质数判断区间内的质数.docx

    在C语言的学习过程中,开发一个程序来找出10000以内的质数,并判断用户指定区间内是否存在质数是一项常见的练习。这个程序的核心在于理解质数的概念以及如何有效地检查一个数是否为质数。质数是大于1的自然数,除了1...

    C#实现100以内素数

    ### C#实现100以内素数的算法详解 #### 一、背景介绍 在数学领域,素数(Prime Number)是指只能被1和自身整除的大于1的自然数。例如,2、3、5、7等都是素数。素数在密码学、信息安全等领域有着重要的应用价值。...

    C 语言编写的输出 n 以内所有素数的程序.pdf

    本文将详细探讨如何用C语言编写一个程序,该程序能够输出用户指定范围(不超过n)内的所有素数。这种程序不仅帮助我们复习和巩固编程知识,同时也是计算机科学教育中常用的练习题。 程序的核心在于设计一个能够高效...

    输出N以内的所有素数.docx

    ### 输出N以内的所有素数 #### 背景与目标 本篇文章旨在探讨如何通过编程的方法找到一个给定数值N(2≤N≤500)范围内所有的素数,并按照特定格式输出这些素数。这里提到的素数是指只能被1和自身整除的大于1的...

    输出1000以内的素数的算法(实例代码)

    在计算机科学中,素数是大于1且只有两个正因子(1和自身)的自然数。素数在数学和密码学领域有着广泛的应用,例如在RSA公钥加密算法中...埃拉托斯特尼筛法通过一次性标记所有合数,可以快速找出指定范围内的所有素数。

    python求1000以内的素数-01-函数加强简介.ev4.rar

    这个`primes_upto`函数会返回指定范围内所有的素数列表。 函数在Python中扮演着核心角色,它们可以封装逻辑,提高代码的可读性和复用性。在本资源包中,"函数加强简介"部分可能涵盖了函数的定义、参数传递、返回值...

    质数(素数)计算

    这篇讨论将聚焦于如何在Delphi编程环境中高效地计算一个指定范围内(例如X以内)的所有质数。 Delphi是一种基于Pascal语言的面向对象的开发环境,它提供了强大的编程工具和丰富的库函数。在Delphi中实现质数计算,...

    Python求n以内最大的k个素数c.docx

    ### Python求n以内最大的k个素数 #### 知识点概述 本篇文章主要介绍如何用Python编程语言求解一个特定数学问题:在一个指定的最大数值范围内寻找最大的k个素数。这个问题不仅涉及到基本的编程技巧,如循环和条件...

    vb,产生100个10000以内不重复的随机素数

    在VB(Visual Basic)编程语言中,生成100个10000以内不重复的随机素数是一项挑战性的任务,它涉及到随机数生成、素数检测以及数据结构的有效利用等多个知识点。以下是对这个任务的详细解释: 首先,我们需要理解...

    一个C++质数小程序

    根据给定的信息,我们可以从标题、...综上所述,这个C++质数小程序通过简单的逻辑实现了对小于给定值的所有质数的查找和输出功能。虽然其算法效率有待提高,但对于理解和学习质数的基本概念及C++的基础语法非常有帮助。

    筛选一万亿位的素数,费马最小定理

    费马最小定理指出,一个数如果不能被它平方根以内的所有素数的倍数筛掉,那么这个数就是素数。这个原理可以用来筛选一万亿位的素数。 为了实现筛选一万亿位的素数,我们可以将筛选过程分为两个步骤。第一步,我们...

    大素数的研究与实现!!!

    - 随机生成素数:通过随机数生成器结合素数预筛选和测试步骤,可以生成指定范围内的素数,包括15位以内的小素数和更大的大素数。 5. 软件测试 软件测试是验证程序功能正确性和性能的关键环节,对于大素数生成和测试...

    质数的计算,delphi源码

    【描述】"可以计算指定数以内的所有质数并罗列出来." 这句话告诉我们该程序的功能核心:用户可以输入一个上限数值,程序会找出并显示所有小于或等于这个上限的质数。质数是大于1的自然数,除了1和它自身以外,不能被...

    Python编程求质数实例代码

    Python编程求质数实例代码是学习编程过程中常见的一道练习题,主要涉及到基础的数学概念、循环控制和列表操作。质数(素数)是指大于1的自然数,除了1和它自身以外,不能被其他自然数整除的数。在Python中,我们可以...

    使用java找出给定范围素数

    `isPrime`方法通过检查数字除以2到其平方根之间是否存在整数余数来判断一个数是否为素数。如果存在,那么该数不是素数,返回`false`;反之,如果不存在,则为素数,返回`true`。 这个程序简单易懂,非常适合初学者...

Global site tag (gtag.js) - Google Analytics