java输出前50个素数[欢迎指点]

package ch1;

 

public class fontPrime {

        public static int[] outputPrimes(int num) {

            int x = 2;//x为需检验是否为素数的数

            int j = 0;//定义数组的索引

            int[] p = new int[num];//定义数组,并将接收到的参数作为数组长度

            int cnt = 0;//前50个素数。从0开始计数

            while (cnt < num) {//在while循环内查找前50个素数,以cnt来标记找到素数的个数

                int isPrime = 1;//以isPrime分辨

                for (int i = 2; i < x; i++) {

                    if (x % i == 0) {//进入这里,即不为素数

                        isPrime = 0;

                        break;

                    }

                }

                if (isPrime == 1) {//进入这个if里,说明此时的x为素数

                    p[j] = x;//将素数依次赋值给数组元素

                    j++;//j+1,为下一个数组元素做准备

                    cnt++;//只有当x为素数时,cnt才加1,不然还是以原来的cnt来记录

                }

                x++;//无论x是否为素数,x都要加1,按顺序查找素数

            }

            return p;//将查找到的素数用数组存储起来,返回给主方法

        }

        public static void main(String[] args) {

            int num=50;//定义变量,即输出前50个素数

            int[] p=outputPrimes(num);//调用函数,将参数传上去,定义数组接受元素都为素数的数组

            for (int i = 0; i <num; i++) {

                System.out.print(p[i]);//以10行5列遍历数组

                System.out.print("\t");//数与数之间留有空格,便于观察

                if ((i+1)%5==0){//因为数组索引是从0开始的,所以当i+1%5==0时会进行换行

                    System.out.println();//换行

                }

            }

        }

    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值