当前位置:网站首页>【刷题篇】计算质数
【刷题篇】计算质数
2022-07-30 18:50:00 【m0_60631323】
一、题目
OJ链接
给定整数 n ,返回 所有小于非负整数 n 的质数的数量 .
二、题解
思路:将1~n-1上不是素数的数全部除去,剩下的数的数量就是素数
- 除了2,所有的偶数都不是素数,因为4=2x2;6=2x3;8=2x4…
- 在去除掉因子中含有3的所有不是素数的数,
3x2不用再算了,因为计算2x3的时候算过了,所以对于数字i只需从 i x i 开始,3x3=9(不是素数), 3x4不用算(偶数),3x5=15(不是素数)…
public int countPrimes1(int n) {
if(n<3){
return 0;
}
boolean[] f=new boolean[n];
int count =n/2;
for(int i=3;i*i<n;i+=2){
if(f[i]){
//例如i=9时,9在3*3的时候就判断过9不是素数,就已经
//将f[9]=true,而之所以可以跳过9是因为,9*9=3*3*9,
//9*11=3*3*11,就说明,含有9这个因子且不是素数的数,在
//去除以3作为因子所有不是素数的数的时候已经算过了
continue;
}
for(int j=i*i;j<n;j+=2*i){
if(!f[j]){
count--;
f[j]=true;
}
}
}
return count;
}
边栏推荐
猜你喜欢

vxe-table实现复选框鼠标拖动选中

The use of @ symbol in MySql
![[TypeScript]编译配置](/img/ac/64ebd33de977e35620dbc18d2adfad.png)
[TypeScript]编译配置

基于inquirer封装一个控制台文件选择器

线性筛求积性函数

6 yuan per catty, why do Japanese companies come to China to collect cigarette butts?

中集世联达工业级成熟航运港口人工智能AI产品规模化应用,打造新一代高效能智慧港口和创新数字港口,全球港航人工智能能领军者中集飞瞳

Hello, my new name is "Bronze Lock/Tongsuo"

解决终极bug,项目最终能顺利部署上线。

node封装一个控制台进度条插件
随机推荐
DM8: Single database and single instance to build a local data guard service
CMake库搜索函数居然不搜索LD_LIBRARY_PATH
第4章 控制执行流程
scrapy基本使用
Critical Reviews | A review of the global distribution of antibiotics and resistance genes in farmland soil by Nannong Zou Jianwen's group
自然语言处理nltk
SwiftUI iOS 精品开源项目之 完整烘焙食品菜谱App基于SQLite(教程含源码)
Pytorch foundation -- tensorboard use (1)
natural language processing nltk
深化校企合作 搭建技术技能人才成长“立交桥”
Go 系统收集
nlohmann json 使用指南【visual studio 2022】
requet.getHeader("token") is null
ESP8266-Arduino programming example-BMP180 air pressure temperature sensor driver
Hello, my new name is "Bronze Lock/Tongsuo"
432.4 FPS 快STDC 2.84倍 | LPS-Net 结合内存、FLOPs、CUDA实现超快语义分割模型
Network Basics (3) 01-Basic Concepts of Networks - Protocols, Host Addresses, Paths and Parameters of URL Addresses & 127.0.0.1 Local Loopback Address & View URL IP Address and Access Ping Space + URL
WEBSOCKETPP使用简介+demo
《痞子衡嵌入式半月刊》 第 59 期
尊重客观事实