博客
关于我
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/

你可能感兴趣的文章
Nginx keepalived一主一从高可用,手把手带你一步一步配置!
查看>>
Nginx Location配置总结
查看>>
Nginx log文件写入失败?log文件权限设置问题
查看>>
Nginx Lua install
查看>>
nginx net::ERR_ABORTED 403 (Forbidden)
查看>>
vue中处理过内存泄露处理方法
查看>>
Nginx RTMP 模块使用指南
查看>>
Nginx SSL 性能调优
查看>>
Nginx SSL私有证书自签,且反代80端口
查看>>
Nginx upstream性能优化
查看>>
Nginx 中解决跨域问题
查看>>
nginx 代理解决跨域
查看>>
Nginx 做负载均衡的几种轮询策略分析
查看>>
Nginx 入门,一篇搞定!
查看>>
Nginx 利用代理转发请求示例
查看>>
Nginx 动静分离与负载均衡的实现
查看>>
Nginx 反向代理 MinIO 及 ruoyi-vue-pro 配置 MinIO 详解
查看>>
nginx 反向代理 转发请求时,有时好有时没反应,产生原因及解决
查看>>
Nginx 反向代理+负载均衡
查看>>
Nginx 反向代理解决跨域问题
查看>>