zoukankan      html  css  js  c++  java
  • 输出第N个素数

    输出第N个素数

    public class FindNthPrime
    {
        public static void main(String[] args){
            int N = Integer.parseInt(args[0]); //要求输出第 N 个素数
            int[] PrimesVector = new int[N]; // 存储已经找到的素数
            PrimesVector[0] = 2; //第一个素数是2
            int CntPrime = 1; //目前找到的素数的数目是1
            for(int i = 3; CntPrime < N; i++)
            {
                boolean isPrime = true;
                // 因为非素数可以拆成素数的乘积,所以只需要考虑已经找到的素数
                for (int j = 0; j < CntPrime && PrimesVector[j]*PrimesVector[j] <= i; j++) 
                {
                    if ( i % PrimesVector[j] == 0)
                    {
                        isPrime = false;
                        break; //跳出循环
                    }
                }
                if (isPrime)
                {
                    CntPrime++;
                    PrimesVector[CntPrime-1] = i;
                }
            }       
            System.out.println(" The " + N + "th prime is " + PrimesVector[N-1]);
        }
    }

    测试结果

  • 相关阅读:
    构造函数、原型、实例化对象
    JS闭包的理解
    JQuery知识点
    面向对象
    学习使用Vuex
    Runtime详解
    ffmpeg各结构体之间关联 ---- AVPacket
    AVFrame
    block的底层原理
    performSelector
  • 原文地址:https://www.cnblogs.com/learning-c/p/5204077.html
Copyright © 2011-2022 走看看