Java 构造素数表

时间:2020-07-22 01:36:26   收藏:0   阅读:74

构造一个含有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);
        }
    }

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!