关闭

leetcode 204:Count Primes

标签: leetcode
89人阅读 评论(0) 收藏 举报
分类:

题目:
Description:

Count the number of prime numbers less than a non-negative number, n.
分析:
本题是要统计0~n的素数个数,这个要根据hint中的提示,利用埃拉托色尼筛法,需要去除0~开根号n之间整数的倍数,比如从2开始,去除2*2,2*3,…;最后剩下的就是0~n的素数。
代码:

public class countPrimes {

    public static int count(int n){
        System.out.println("test");
        boolean[] a=new boolean[n];
        for(int i=2;i*i<n;i++){
            if(!a[i]){
                for(int j=i;i*j<n;j++){
                    a[i*j]=true;
                }
            }
        }
        int c=0;
        for(int i=2;i<n;i++){
            if(a[i]==false) ++c;
        }
        System.out.println("c:"+c);
        return c;

    }
    public static void main(String[] args){
        System.out.println("哈哈哈");
        int n=10;
        int c=count(n);
        System.out.println("primesCount:"+c);
    }
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:8474次
    • 积分:399
    • 等级:
    • 排名:千里之外
    • 原创:33篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条