【Java案例】找素数

案例介绍:

编写一个找素数的程序:找出100以内的所有素数,并输出素数的个数。

 运行结果:

 

 完整代码:

import static java.lang.Math.sqrt;

public class Prime {
    public static void main(String[] args)
    {   //素数:除了1和它的本身外,不再有其他因数的自然数
        int num,dividend;
        int count = 1; //素数的个数
        System.out.println("100以内的素数有:");
        System.out.print("2 ");//2是第一个素数
        for(num=3;num<=100;num++) //从3开始,找出100以内的所有素数
        {
            if(num%2==0) continue; //若num是偶数,结束本轮循环

            int sqrtNum = (int)sqrt(num); //定义num的平方根
            for(dividend=3;dividend<=sqrtNum;dividend+=2)//从3开始的奇数遍历到num的平方根,判断num是否有其它因数
            {
                if(num%dividend==0) break; //找到其它因数,中断循环
            }

            if(dividend>=sqrtNum+1) //若dividend>=num的平方根,说明该num是素数
            {
                System.out.print(num+" ");
                if(++count%5==0)  System.out.println(); //每输出五个素数就另换一行
            }
        }
        System.out.println("\n共有 "+count+" 个");
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_66697650/article/details/128596526
今日推荐