埃筛C++写法

埃筛的作用是找素数(质数),以质数的倍数一定是合数为重心思路。

比如说 2 是质数,但 2 的倍数(除了自己)都是合数。

3 是质数,但 3 的倍数(除了自己)都是合数。
我们针对这个特性,可以用打标法实现。px表示x是否为质数。

cpp 复制代码
void Prime() {
	memset(P, true, sizeof (P));
	for (int i = 2; i <= MAX; i++) {
		if (P[i]) {
			for (int k = i * 2; k <= MAX; k += i) {
				P[k] = false;
			}
		}
	}
}

第二行:起初大家都是质数,后面慢慢删除。

第四行:只要这个数是质数,他的倍数就都是合数(虽然合数的倍数也是合数,但是他已经被它们的公约数标记了)。

第六行:标记合数。

相关推荐
LONGZETECH9 小时前
新能源汽车动力系统仿真硬核拆解:五系统分层架构的设计逻辑与技术权衡
c语言·开发语言·架构·汽车·汽车仿真教学软件·汽车教学软件
醉城夜风~10 小时前
C++模板详解:从基础到高级全面解析
java·开发语言·c++
地球驾驶员10 小时前
NX二次开发C#-获取体的外表面
开发语言·c#
RuiZN10 小时前
Muduo---Channel类
运维·服务器·c++
誰能久伴不乏10 小时前
深入理解 C++ 多态:对象模型与底层机制解析
开发语言·c++·架构
ShineWinsu10 小时前
对于Linux:自定义协议(基于TCP)实现网络计算器的解析
linux·网络·c++·网络协议·tcp/ip·面试·网络计算器
Wang's Blog10 小时前
Go-Zero项目开发30: 微服务配置中心的设计与实现
开发语言·微服务·golang·go-zero
HH‘HH10 小时前
前端应用的离线暂停更新策略:原理、实现与最佳实践
开发语言·前端·php
郝学胜-神的一滴10 小时前
中级OpenGL教程 026:Assimp库从编译到实战全攻略
c++·unity·游戏引擎·图形渲染·unreal engine·opengl
今夜有雨.10 小时前
C++JSON 解析器
c++·笔记·后端·学习·json