码迷,mamicode.com
首页 > 其他好文 > 详细

Count Primes

时间:2017-10-31 12:52:44      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:problem   less   个数   count   des   special   new   它的   bitset   

Description:

Count the number of prime numbers less than a non-negative number, n.

Credits:
Special thanks to @mithmatt for adding this problem and creating all test cases.

我们考虑1-n的数 我们只需要考虑他们是否为素数 可以用bitset做

对于一个数,我们可以一次性将它的倍数设置为true

这样false位的数就是素数

public int countPrimes(int n) {
    BitSet bs = new BitSet(n);
    int count = 0;
    for(int i=2;i<n;i++) {
          if(!bs.get(i)) {
              count ++;
              for(int j=2;j*i<n;j++)
                  bs.set(j*i);
          }
    }
    return count;
}

 

Count Primes

标签:problem   less   个数   count   des   special   new   它的   bitset   

原文地址:http://www.cnblogs.com/swuwyb/p/7760680.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!