`
evget
  • 浏览: 144625 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
文章分类
社区版块
存档分类

Eratosthenes筛选法求素数

J# 
阅读更多
文章关键字:|Eratosthenes|筛选|素数|

  public class Sieve{

    public static void main(String[] args)

    {

      int max = 100; //假设求100以内的素数

      boolean[] isPrime = new boolean[max+1];

      for(int i=0; i<=max; i++)

        isPrime[i]=true;

      isPrime[0]=isPrime[1]=false; //1和0不是素数,所以将相应的

      //isPrime元素设置为false

      int n = (int)Math.ceil(Math.sqrt(max));

      for(int i=0; i<=n; i++)

      {

        if(isPrime[i]) //素数的整数倍不是素数,从而筛选掉所有不是素数的数

        {

          for(int j=2*i; j<=max; j=j+i)

            isPrime[j]=false;

        }

      }

      int largest;

      for(largest=max; !isPrime[largest]; largest--)

      {

        System.out.println(largest);

      }

    }

  }



原文地址:http://www.evget.com/zh-CN/Info/ReadInfo.aspx?id=9299
分享到:
评论

相关推荐

    Eratosthenes筛选法求质数.rar

    在易语言中实现Eratosthenes筛选法求质数的源码可能如下: ```易语言 .整数变量 n, i, j .布尔型数组 质数表 (n) .输入 "请输入要找的质数上限:", n 质数表.全部赋值 (.真) i = 2 .循环 (n) .如果 质数表[i] j...

    易语言Eratosthenes筛选法求质数

    在这个“易语言Eratosthenes筛选法求质数”项目中,我们将探讨如何使用易语言实现Eratosthenes筛选法,这是一种古老的算法,用于找出一定范围内的所有质数。 Eratosthenes筛选法,又称为埃拉托斯特尼筛法,是由古...

    筛选法求素数

    筛选法求素数是计算机程序设计中的一种常见算法,用于找出一定范围内所有素数。在C++编程语言中实现这个算法,我们可以利用其强大的数组处理能力和控制结构来高效地完成任务。下面将详细介绍筛选法(也称为...

    C经典算法之Eratosthenes筛选求质数

    ### C经典算法之Eratosthenes筛选求质数 #### 概述 在数学领域,质数(Prime Number)是指只能被1和自身整除的大于1的自然数。寻找质数的方法有很多种,其中Eratosthenes筛法是一种古老而有效的算法,可以高效地找...

    易语言Eratosthenes筛选法求质数源码-易语言

    求质数的函数则会实现Eratosthenes筛选法的逻辑。 通过学习并理解这个源码,开发者可以深入掌握易语言的编程技巧,了解如何在实际项目中使用数组和循环,以及如何优化算法提高程序效率。对于初学者,这是一个很好的...

    matlab 求素数 (四种方法)

    埃拉托斯特尼筛法是一种经典的求素数的方法,通过逐步筛选掉非素数来得到所有小于给定数的素数。在MATLAB中,可以创建一个全为1的布尔数组,然后从2开始,每次找到一个未被筛掉的数(即当前的素数),就将其倍数...

    sushu.rar_求素数

    筛选法求素数的核心思想源于古希腊数学家埃拉托斯特尼(Eratosthenes),这一方法后来被称为埃拉托斯特尼筛法。这个算法以简单却巧妙的方式解决了素数的筛选问题,其基本原理是通过不断的筛选过程,逐步排除那些非...

    C/C++利用筛选法算素数的方法示例

    求解素数的方法有很多种,其中筛选法(Sieve of Eratosthenes)是一种效率较高的算法,尤其适用于找出一定范围内的所有素数。 筛选法,又称埃拉托斯特尼筛法,源于古希腊数学家埃拉托斯特尼的发现。该算法的基本...

    素数筛选法优化

    原始素数筛选法,也称为埃拉托斯特尼筛法(Sieve of Eratosthenes),是一种用于找出一定范围内所有素数的有效算法。该算法的基本思想是从最小的素数2开始,将2的所有倍数标记为合数;接着找到下一个未被标记的数...

    Sieve-of-Eratosthenes-.zip_python Eratosthenes

    标题中的"Sieve of Eratosthenes"是一种古老而有效的算法,用于找出小于给定整数的所有质数。这个算法由古希腊数学家...通过分析和理解"450HW02.py"的代码,我们可以深入探讨这些概念,并实践Eratosthenes筛选法。

    设计程序求任意给定范围之间的素数

    例:用筛选法求2~100之间的所有素数。 解:我们用下面的方法来解这题:先建立一个含有2~100之间所有自然数的数表,在数表中删去2的倍数(不包括2);然后找2后面第一个被保留的数p(是3),再删除p的倍数(不包括p);...

    python使用筛选法计算小于给定数字的所有素数

    筛选法,又称埃拉托斯特尼筛法(Sieve of Eratosthenes),是一种有效找到所有小于给定数的素数的算法。这种方法通过逐步排除合数(非素数)来找到素数。以下将详细介绍该方法及其在Python中的实现。 筛选法的基本...

    快速筛选素数

    #### 方法一:朴素筛选法(Eratosthenes筛) 此方法是最直观的筛选素数的方法之一,通过遍历每个数并标记其倍数来实现筛选。 **核心思想**: 1. **初始化**:创建一个布尔数组`flag`,将其所有元素设为`false`。 2...

    第7章 数组-7数组的其他应用——筛法求素数1

    然而,筛法求素数提供了更高效的方式,即埃拉托斯特尼筛法(Sieve of Eratosthenes)。这种方法通过创建一个数组`a`来表示每个数是否是素数,初始化时数组的每个元素都表示相应的数值。从2开始,将2的倍数全部标记为...

    求质数表的方法,30000以内质数

    筛选法,又称为埃拉托斯特尼筛法(Sieve of Eratosthenes),是一种更高效的方法来找出一定范围内的所有质数。步骤如下: 1. 创建一个从2到目标数的数列。 2. 从最小的质数2开始,将它的倍数全部标记为非质数。 3. ...

    筛选素数问题

    筛选法,也被称为埃拉托斯特尼筛法(Sieve of Eratosthenes),是一种古老的算法,其优点在于能够显著降低时间复杂度,提高寻找素数的效率。 筛选素数算法的基本思想是从2开始,依次将所有2的倍数标记为合数(非...

    素数筛选法的改进及C语言实现.pdf

    素数筛选法是信息学和程序设计中处理素数问题的重要算法。素数,也被称作质数,是大于1的自然数中只有1和其本身作为正除数的数。对于任何自然数N,如果N不是素数,那么它一定有不大于其平方根的因子。利用这一性质,...

    python素数筛选法浅析

    本文介绍的素数筛选法指的是埃拉托斯特尼筛法(Sieve of Eratosthenes),这是一种古老而高效的算法。其基本思想是:首先将2到n的所有整数写出来,然后从2开始,将2的倍数都划掉;接着找下一个没有被划掉的数,即3,...

Global site tag (gtag.js) - Google Analytics