您的位置 首页 编程语言

java判断一个数为素数(质数)

1.java判断一个数为素数

 

今天面试美国的一家公司出了一个简单的面试题就是如何判断它是素数

首先我们回忆一下 什么是素数:

质数的定义:

质数(prime number)又称为素数,有无限多个。质数定义在大于1的自然数中,除了1和它本身以外不会再有其它因数的数称为质数。

(1)从2开始,2是最小的质数。

(2)除了2之外的偶数全都不是质数,因为除了1和自身之外它们还能被2整除。若为大于2的奇数,则进入下一步继续判断。

(3)将其开方,若从3到开方向下取整之间的所有奇数都不能将其整除,则说明该数为质数。

至于为什么只用除到其平方根?

因为如果一个数不是素数是合数,那么一定可以由两个自然数相乘得到,其中一个大于或等于它的平方根,一个小于或等于它的平方根。
并且成对出现。

 

2.java 实现判断一个数为素数

public class primeCount {
    public static void main(String[] args) {
//        System.out.println(11%2);
        System.out.println("-----"+primeCount(-10, 6));

    }

    public static int  primeCount(int start,int end){
        int number = 0;


        for (int i = start; i <=end ; i++) {
            if (isPrimeNumber(i)){
                number++;
                System.out.println(i);

            }
        }
        return number;


    }
    //判断一个数是否为素数
    public static boolean isPrimeNumber(int num){

        if(num == 2){
            return true;// 对2单独处理
        }
        if(num < 2 || num % 2 == 0){
            return false; // 识别小于2的数和偶数
        }
        for (int i =3; i<=Math.sqrt(num);i+=2){
            if(num % i == 0){  // 识别被奇数整除
                return false;
            }
        }
        return true;
    }
}

3.送美女图片一张哈哈哈哈

猫叔总结了 适合新手操作的副业 《淘宝虚拟产品月入2万的 6个 细分类目》的电子书 仅供参考

如果你对虚拟产品比较感兴趣,可以点击:

淘宝卖什么虚拟产品赚钱(月入2万+)

hadoopall

关于花猫大叔短视频创业 作者: hadoopall

热门文章

发表评论

电子邮件地址不会被公开。