博客
关于我
leetCode 204 计数质数(埃氏筛法)
阅读量:271 次
发布时间:2019-03-01

本文共 536 字,大约阅读时间需要 1 分钟。

题目链接:

题目描述:

给定一个数字
n
,求小于
n
的质数的个数。
 
输入输出:
 
输入:n = 10输出:4
输入:n = 1输出:0

题目分析:

本题用埃氏筛法(素数筛)可以十分简便的解出这道题,其原理为从 1 n 遍历,假设当前遍历到 m,则把所有小于 n 的、且是 m 的倍数的整数标为和数;遍历完成后,没有被标为和数的数字即为质数。

代码:

int countPrimes(int n){	if(n<=2)	return 0;	vector
prime(n,true); int count=n-2;//去掉不是质数的1 for(int i=2;i<=n;++i) { if(prime[i]) for(int j=2*i;j

优化: 利用素数的一些特性可以对代码进行优化

int countPrimes(int n){	if(n<=2)	return 0;	vector
prime(n,true); int i=3,sqrtn=sqrt(n),count=n/2;//偶数一定不是质数 while(i<=sqrtn)//最小质因子一定小于等于开方数 { for(int j=i*i;j

 

转载地址:http://oxlx.baihongyu.com/

你可能感兴趣的文章
Mysql索引优化
查看>>
MySQl索引创建
查看>>
mysql索引创建及使用注意事项
查看>>
mysql索引创建和使用注意事项
查看>>
MySQL索引原理以及查询优化
查看>>
Mysql索引合并(index merge)导致的死锁问题
查看>>
MySQL索引和查询优化
查看>>
mysql索引底层数据结构和算法
查看>>
Mysql索引底层结构的分析
查看>>
MySQL索引底层:B+树详解
查看>>
Mysql索引总结
查看>>
mysql索引最左匹配原则理解以及常见的sql使用的索引情况的实测
查看>>
Mysql索引类型
查看>>
MySQL索引背后的数据结构及算法原理
查看>>
mysql索引能重复吗_mysql “索引”能重复吗?“唯一索引”与“索引”区别是什么?...
查看>>
MySQL索引详解(IT枫斗者)
查看>>
MySQL索引那些事:什么是索引?为什么加索引就查得快了?
查看>>
Mysql索引(2):索引结构
查看>>
Mysql索引(3):索引分类
查看>>
Mysql索引(4):索引语法
查看>>