Java 构造素数表

Posted 小余的故事

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 构造素数表相关的知识,希望对你有一定的参考价值。

构造一个含有50个素数的素数表,当下一次出现数字需要判断是否为素数的时候,就可以直接在素数表中用二分查找法寻找是否为素数了。

    public static void main(String[] args) {
        int[] a=new int[50];//new一个专门存放素数的数组
        a[0]=2;//这个素数的第一个数是2
        int cnt=1;//这个表有了第一个素数2,从1开始计数,一共数50个数
        int number=3;//从3开始检验数字,查看是否是素数
        MAIN_LOOP://goto语句
        for(;cnt<10;number++)//从3开始数起,一共需要找到50个素数
        {
            for(int j=0;j<cnt;j++)//从素数表的第一个素数开始数起,一直到当前素数表的最大个数
                if(number%a[j]==0)//查看当前的数字能否整除素数表中的数字,如若可以,则当前数字不是素数
                    continue MAIN_LOOP;//发现当前数字不是素数,返回第一层循环:检验下一个数字是不是素数
            a[cnt++]=number;//若当前数字通过检测为素数,则添加到素数表当中
        }
        for(int k:a)//for each循环打印当前素数表
        {
            System.out.println(k);
        }
    }

 

以上是关于Java 构造素数表的主要内容,如果未能解决你的问题,请参考以下文章

BigInteger构造方法问题

创建片段而不从 java 代码实例化它

在 Visual Studio 中创建构造函数的代码片段或快捷方式

筛素数

Java:作为 HashMap 大小的“素数”数字还是“二的幂”?

这个代码片段有啥作用?