博客
关于我
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类型转换函数convert与cast的用法
查看>>
mysql系列一
查看>>
MySQL系列之数据类型(Date&Time)
查看>>
MySQL系列之数据类型(Date&Time)
查看>>
Mysql系列之锁机制
查看>>
Mysql系列九:使用zookeeper管理远程Mycat配置文件、Mycat监控、Mycat数据迁移(扩容)...
查看>>
MySql系列:[4200][1140]In aggregated query without GROUP BY, expression #2 of SELECT list contains nona
查看>>
MySQL索引
查看>>
Mysql索引
查看>>
mysql索引
查看>>
mysql索引
查看>>
Mysql索引,索引的优化,如何避免索引失效案例
查看>>
Mysql索引、命令重点介绍
查看>>
mysql索引、索引优化(这一篇包括所有)
查看>>
Mysql索引一篇就够了
查看>>
MySQL索引一篇带你彻底搞懂(一次讲清实现原理加优化实战,面试必问)
查看>>
MySQL索引下沉:提升查询性能的隐藏秘
查看>>
MySql索引为什么使用B+树
查看>>
MySQL索引为什么是B+树
查看>>
WARNING!VisualDDK wizard was unable to find any DDK/WDK installed on your system.
查看>>