`
小菌子
  • 浏览: 21955 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

查找给定正整数中所有的质数

阅读更多
import java.util.ArrayList;


/*
 * 质数就是只能被1和本身整除的数字。
 * 请写出一个方法,在任意给定一个正整数A后,找出0到这个正整数A中存在的所有质数。
 */
public class PrimeNumber {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int inputNum = 20; //Prime numbers will be: 2, 3, 5, 7, 11, 13, 17, 19,
        ArrayList primeNumList = PrimeNumber.getPrimeNumber(inputNum);
        for (int i = 0; i < primeNumList.size();i ++)
        {
            System.out.print(primeNumList.get(i) + ", ");
        }
    }

    public static ArrayList getPrimeNumber(int inputNum)
    {
        ArrayList primeNumList = new ArrayList();
        //第一个循环遍历正整数A下除1外所有的正整数
        for (int i = 2; i <= inputNum; i++)
        {
            primeNumList.add(i);
            //内层循环判断第一个循环的当前整数是否是质数
            for (int j = i-1; j > 1; j--)
            {
                //当目前的整数i能够整除0,和i之间任一个整数时,这个数i不是质数,移除出数组。
                if (i%j == 0)
                {
                    primeNumList.remove(primeNumList.indexOf(i));
                    break;
                }
            }
        }
        
        return primeNumList;
    }
}
0
1
分享到:
评论
1 楼 nikalan 2011-12-14  
效率太低了

相关推荐

    对任一正整数n,按从小到大的顺序输出所有不超过2^n-1的梅森数-C语言代码

    题目要求编写C语言程序,对任意给定的正整数n,输出所有不超过\(2^n - 1\)的梅森数。首先,我们需要了解如何判断一个数是否为素数。常用的素数检测方法有试除法和更高级的埃拉托斯特尼筛法。在这个问题中,由于我们...

    显示这两个数值之间的全部质数

    本例中使用了嵌套的`for`循环来实现从m到n之间的质数查找: ```java for (int i = m; i ; i++) { int h = 0; for (int k = 2; k ; k++) { if (i % k == 0) { h = 1; break; } } if (h == 0) { System.out....

    matlab开发-查找素数的方法

    5. **Fermat小定理**:若a是任意正整数,p是素数,并且a^(p-1) ≡ 1 (mod p),则p可能是a的素性。虽然这不构成素性检验,但它可以作为素性检验的一部分。 从提供的文件名来看,`primemethod3.m`和`primeclassique.m...

    prime-numbers:找出从 0 到 n 的所有素数。 两种实现

    素数(也称为质数)是指大于1且除了1和其本身以外没有其他正因数的自然数。例如,2、3、5、7、11和13都是素数,而4、6、8、9和10不是素数,因为它们可以被其他数字整除。 **二、第一种实现:埃拉托斯特尼筛法...

    c语言求出给定范围内的所有质数

    在C语言中,求解给定范围内所有质数的问题是一个常见的编程练习,它涉及到基本的循环、条件判断以及数学逻辑。下面将详细解释这个程序的工作原理及其涉及的关键知识点。 首先,我们要理解质数的定义:质数是大于1且...

    用Python编写的示例代码-找出1000以内的素数

    然后,我们使用一个变量 `i` 从5开始,每次增加6(即6k±1的规则),因为所有的素数都可以表示为6k±1的形式,其中k是整数。这个规则可以避免对所有偶数进行不必要的检查,进一步提高了效率。函数通过一个while循环...

    求文本中指定数字之后指定个数的所有素数

    3. **素数判断**:素数是指除了1和它本身以外没有其他因数的正整数。判断一个数是否为素数是算法设计的关键。常见方法有质数筛法(如埃拉托斯特尼筛法)或通过连续除法尝试所有小于它的平方根的数。 4. **循环与...

    二次整数分解

    二次整数分解是一种在数学和密码学中常见的计算任务,主要目标是将一个大整数表示为两个非平凡因子(即除了1和本身之外的正整数)的乘积。在本例中,我们讨论的是如何用C#编程语言来实现这一过程。描述中提到的算法...

    查找输入数附近的最大质数。:查找给定数附近的最大质数-matlab开发

    在MATLAB编程环境中,"查找输入数附近的最大质数"是一项常见的数学问题,涉及质数的概念、算法设计以及MATLAB的编程技巧。质数是指大于1且除了1和它自身外没有其他正因数的自然数。在这个问题中,我们需要找到一个...

    通过C++实现查找完全数

    完全数(Perfect Number)是指那些其所有真因数(即除了自身以外的因数)之和恰好等于该数本身的正整数。例如,6的真因数为1、2、3,而这些因数之和为6;同样地,28的真因数为1、2、4、7、14,这些因数相加也等于28...

    LeetCode 313. 超级丑数(动态规划)

    超级丑数是指其所有质因数都是长度为 k 的质数列表 primes 中的正整数。 示例: 输入: n = 12, primes = [2,7,13,19] 输出: 32 解释: 给定长度为 4 的质数列表 primes = [2,7,13,19], 前 12 个超级丑数序列为:[1,2,...

    C语言编程经典100例

    根据给定文件中的信息,我们可以总结出五个C语言编程实例的知识点。 ### 知识点一:斐波那契数列 #### 题目描述 编写程序计算斐波那契数列的前20项,其中数列的定义如下:第1项和第2项都是1,从第3项开始,每一项...

    一个C++质数小程序

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

    1到200的素数1

    它们是构建所有正整数的基础,因为任何大于1的整数都可以唯一地表示为素数的乘积。在密码学中,素数特别关键,比如在RSA公钥加密算法中就用到了大素数的性质。 检测素数的方法有很多种,其中最简单的是试除法。这个...

    java算法.docx

    质因数是能整除给定正整数的质数。程序采用迭代方法,从最小的质数2开始尝试除法,如果能整除,则输出质因数并更新原数为商,继续寻找下一个质因数;如果不能整除,则尝试下一个质数。这个过程持续到原数变成1,表示...

    世界500强面试题.pdf

    1.6.3. 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数 位于数组的后半部分 ...........................................................130 1.6.4. 给定链表的头指针和一个...

    ConsoleApplication1_质数数目计算_

    筛法,也称为埃拉托斯特尼筛法,是一种寻找所有小于给定上限的质数的高效算法。它的基本思想是从2开始,依次将每个质数的倍数划去,这样剩下的就是质数。以下是该算法的步骤: 1. 创建一个从2到n的整数数组,初始时...

    java求解素数环问题

    3. **构建素数环**:遍历生成的素数序列,尝试不同的运算(如加法、乘法),查找满足条件的素数环。可以设置一个循环,每次从当前素数开始,尝试加减乘除当前素数的下一个素数,直到回到起点形成环。 ```java ...

    Python实现简单求解给定整数的质因数算法示例

    在编程领域,质因数分解是数学中的一个重要概念,它涉及到将一个正整数表示为若干个质数的乘积。在Python中实现这个算法可以帮助我们理解和应用基本的数论知识。下面我们将深入探讨如何使用Python来求解给定整数的质...

    java小例子涵盖了基本的编程概念和常见的问题解决方法

    8. 查找数组中的最大值:在给定的数组中找到最大的数,并打印结果。 9. 冒泡排序:对给定的整数数组进行冒泡排序,并打印排序后的结果。 10. 计算圆的面积:根据给定的半径计算圆的面积,并打印结果。 这些例子涵盖...

Global site tag (gtag.js) - Google Analytics