`
lolocomee
  • 浏览: 16473 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

大范围内判断一个数是否为质数

 
阅读更多

看别人的时候没看懂,自己写的时候想了想就明白了,也添上注释发出来。

注释纯粹个人理解。

 

   /**4.大范围内判断一个数是否为质数
     * Prime number
     *  设置一个开关,1~sqrt(n)之间的非质数设为关状态
     *  最后还是用mod 1~sqrt(n 之间的质数判断。
     *  条件 n为整数,可能对小的数有问题

     *  @author gdcic-zhang
     */
    public boolean isPrime2(int n){
        boolean result=true;
        int end=(int) Math.sqrt(n);
        BitSet b=new BitSet(end);//开关
        int i;
        for(i=2;i<end;i++){
            b.set(i);//所有为处于打开状态,
        }
        i=2;
        while(i*i<end){
            if(b.get(i)){
                for(int k=i;k<b.size();k+=i){
                    b.clear(i);
                }
            }
            i++;
        }
        for(i=2;i<end;i++){
             if(b.get(i)){
                  if(n%i==0){
                    result=false;
                    break;
                }
             }
        }
        return result;
    }

分享到:
评论

相关推荐

    判断一个数是否为素数的java代码

    在Java编程中,判断一个数是否为素数是常见的算法问题,尤其对于初学者来说,掌握这个概念及其实现方法至关重要。下面我们将详细讲解如何编写一个Java程序来判断一个整数是否为素数。 首先,我们需要理解素数的定义...

    JAVA中判断一个整数是否为质数

    在实际应用中,检查一个数是否为质数不仅对加密算法、密码学等领域至关重要,而且对于提高程序的逻辑思维能力和算法优化也有很大帮助。 ### 关键知识点 #### 1. 质数定义与特性 - **定义**:质数是指在大于1的...

    C语言判断一个数是否为素数

    ### C语言判断一个数是否为素数 #### 知识点概述 本篇文章将详细介绍如何使用C语言来判断一个正整数是否为素数。在数学领域,素数(Prime Number)是指仅能被1和自身整除的大于1的自然数。例如,2、3、5、7等都是...

    判断一个数是否为素数.rar

    2. **埃拉托斯特尼筛法**:不是用来判断单个数是否为素数,而是找出一定范围内的所有素数。通过不断剔除已知素数的倍数,可以找到所有小于特定上限的素数。 3. **优化的暴力法**:对于n,只检查2到√n之间的数。这...

    数学判断一个数是否为素数

    在计算机科学中,判断一个数是否为素数是基础算法之一,素数是只有1和其本身两个正因数的自然数。理解素数的概念及其判断方法对于学习密码学、编码理论、数据结构等IT领域至关重要。以下是关于“判断一个数是否为...

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

    通过理解素数的概念以及如何在C#中实现素数判断,我们可以轻松地解决与素数相关的编程问题,比如找出一个范围内的所有素数,或者检查一个特定的数是否为素数。这样的功能在加密算法、数据结构和算法分析等许多IT领域...

    判断一个数是否为素数.pdf

    判断一个数是否为素数的常见方法是试除法,这也是描述中提到的策略。首先,我们需要排除小于2的数,因为素数定义是大于等于2的正整数。然后,我们可以从2开始,直到这个数的平方根,逐个检查每个整数是否能整除原数...

    python判断一个数字是否为素数.zip

    在Python中,我们可以用多种方法来判断一个数是否为素数。一种常见且效率较高的方法是使用"试除法"。对于给定的正整数n,我们从2开始到sqrt(n)(n的平方根)遍历,如果n能被其中任何数整除,那么n就不是素数,否则...

    判断一个数是否为素数.txt

    米勒-拉宾素性检验是一种概率型算法,它可以在短时间内判断出一个大数是否为素数,尤其适合在加密算法中使用。而埃拉托斯特尼筛法则适用于找出一定范围内的所有素数。 综上所述,素数的判断是计算机编程中一个重要...

    PrimeNumTest.rar_判断一个数是否为质数

    4. **AKS素性检验(Agrawal-Kayal-Saxena Primality Test)**:这是一种确定性的测试,2002年提出,可以在多项式时间内判断一个数是否为质数。但对于实际应用来说,其复杂度较高,通常只在理论研究中使用。 5. **6k...

    用PYTHON判断一个数是否为素数

    在编程领域,特别是使用Python语言时,经常会有需要判断一个数是否为素数的问题。素数是指大于1且除了1和它自身以外没有其他正因数的自然数。本篇文章将详细探讨如何利用Python来判断一个数是否为素数,并提供相关的...

    使用Python实现判断一个数是否为素数.zip

    本主题将详细探讨如何使用Python语言来判断一个数是否为素数。 首先,我们需要了解素数的基本性质。一个整数n如果能被1到它本身之间的任意一个数整除,那么n就不是素数。如果n只能被1和n自身整除,那么n就是一个...

    输入一个正整数,判断是不是素数(C++)

    本篇文章将围绕如何在C++编程语言中实现判断一个正整数是否为素数的功能进行详细解析。首先,我们将理解素数的基本概念以及该程序的工作原理,接着分析给出的代码示例,并探讨其背后的算法思想及优化可能性。 #### ...

    判断一个数是否为素数C语言.docx

    - **效率提升**:利用埃拉托斯特尼筛法(Sieve of Eratosthenes)预计算一定范围内的素数,然后通过查找表快速判断一个数是否为素数,适用于需要多次判断的情况。 - **多线程**:如果需要同时判断大量数字的素性,...

    python 判断一个数是否为素数.pdf

    在Python中,我们可以编写函数来判断一个数是否为素数。下面我们将详细探讨如何实现这个功能。 首先,我们要明确判断一个数是否为素数的基本步骤: 1. 检查这个数是否为正整数:因为负数和0都不是素数,所以如果...

    判断素数_yes_素数的判断_

    这个任务的核心就是实现一个函数或程序,能够接受一个正整数作为输入,并判断这个数是否为素数。 要完成这个任务,我们可以采用以下几种方法: 1. **暴力枚举法**: 最直观的方法是,从2到m-1遍历所有整数,如果m...

    基于C语言判断一个数是否为素数+有注释.docx

    本篇我们将深入探讨如何用C语言编写一个程序来判断一个数是否为素数。 首先,我们来看给出的C语言代码: ```c #include int main() { int num, i, isPrime = 1; printf("请输入一个整数:"); scanf("%d", &...

    判断特定范围内的素数c#

    综上所述,编写一个C#程序来判断并输出特定范围内的素数,主要涉及的编程知识点包括:基础的循环结构(for循环),条件判断(if语句),函数的定义和调用,以及数学上的素数判定方法。在实际操作中,应根据需求和...

    判断一个数是否为素数的函数 以及测试函数.zip

    判断一个数n是否为素数的基本方法是试除法:从2到√n(向下取整)的范围内,检查是否存在能整除n的数。若不存在,则n是素数;若存在,则n不是素数。 2. **C语言实现素数判断函数** 在C语言中,我们可以创建一个名...

    SQL Server中求素数

    其中`@a`用于循环遍历m到n之间的每一个数,而`@b`用于检测当前数是否为素数。 ```sql DECLARE @a INT; -- 定义变量a DECLARE @b INT; -- 定义变量b SET @a = 1; -- 初始化a的值为1 ``` #### 步骤二:设置循环条件 ...

Global site tag (gtag.js) - Google Analytics