LeetCode OJ:Count Primes(质数计数)
2015-10-06 22:17
507 查看
Count the number of prime numbers less than a non-negative number, n.
计算小于n的质数的个数,当然就要用到大名鼎鼎的筛法了,代码如下,写的有点乱不好意思。
java版本的代码如下所示:
计算小于n的质数的个数,当然就要用到大名鼎鼎的筛法了,代码如下,写的有点乱不好意思。
class Solution { public: int countPrimes(int n) { vector<int> vtor(n + 1, 0); vector<int> ret; for (int i = 0; i <= n; ++i) vtor[i] = i; for (int i = 2; i < n; ++i){//边界条件注意 if (vtor[i] != -1){ ret.push_back(vtor[i]); int tmpPrime = vtor[i]; for (int mul = 1; tmpPrime * mul <= n; mul++){ vtor[tmpPrime * mul] = -1; } } } return ret.size(); } };
java版本的代码如下所示:
public class Solution { public int countPrimes(int n) { int [] prime = new int[n+1]; //这里其实用boolean更好,懒得改了 int count = 0; for(int i = 0; i < n+1; ++i){ prime[i] = i; } for(int i = 2; i < n+1; ++i){ if(prime[i] == -1) continue; else{ count++; for(int mul = 2; mul * i < n+1; ++mul){ prime[mul*i] = -1; } } } return count; } }
相关文章推荐
- 第6周-打印金字塔形的数字
- 转录组小知识点收集
- leetcode19
- 关于ActionBar
- 【解题报告】CF Round #320 (Div. 2)
- 作业不会写
- 相似图片搜索的原理(二)(转)
- adb命令查看报名和查看手机分辨率
- HTML页面跳转的5种方式
- 相似图片搜索的原理(转)
- 项目框架设计
- Math.floor,Math.ceil,Math.rint,Math.round用法详解
- 菜鸟学数据库(三)——存储过程
- C++ 智能指针详解
- (转)菜鸟学数据库(三)——存储过程
- 【数据库】MFC ODBC(三)
- leetcode18
- maven 以及maven 插件 下载安装
- kernel中如何读取内存的大小和地址
- 文库的构建及测序(未完待续)