欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【算法】求小于正整数N的质数的个数

程序员文章站 2022-03-13 10:06:12
...

自己的版本(在N范围内(包括N)的质数个数)

public class test {

    public static void main(String[] args) {
        int res;
        res=countPrimes(2000);
        System.out.println(res);
    }

    public static int countPrimes(int n) {
        if (n<=1){
            return 0;
        }
        int res=0;     //质数的数量
        int tmp=2;     //循环的次数
        while (tmp<=n){
            for(int i=2;i<=tmp;i++){
                if(i==tmp){
                    res++;
                }
                if(tmp%i==0){
                    break;
                }
            }
            tmp++;
        }
        return res;
    }
}

别人的版本(小于n的质数个数)

public static int countPrimes(int n){
    int count=0;
    for (int i = 2; i < n; i++) {
        boolean flag=true;
        for (int j = 2; j <= Math.sqrt(i); j++) {
            if (i%j==0){
                flag=false;
                break;
            }
        }
        if (flag)
            count++;
    }
    return count;
}

可只判定平方根
https://blog.csdn.net/qq_40181007/article/details/86289833

相关标签: 算法