判断是否为素数

埃拉托斯特尼筛法是一种高效的找出范围内所有素数的方法。

基本思想是:标记所有数倍数为非素数剩下 的就是素数

cpp 复制代码
// 判断是否为素数
vector<bool> getIsPrime(int n) {
	// 判断 找出 0 到 n 的所有素数
	vector<bool> isPrime(n + 1, true);
	// 0 和1 一定不适素数
	isPrime[0] = isPrime[1] = false;
	// 跳过偶数 偶数一定不是素数
	// 这里只是 i++ 要确保 i*i 的范围不超过n
	for (int i = 2; i * i <= n; i++)
	{
		 // 如果当前为素数 那么它的倍数,
		 // 以及对自身的加和一定不是素数
		// 2 4 6 8 16
		if (isPrime[i]) {
			for (int j = i*i; j <= n; j += i)
			{
				// 是修改 j 的值
				isPrime[j] = false;
			}
		}
	}
	return isPrime;
}
相关推荐
程与留17 小时前
15_国际化和本地化:tr()、ts 文件、QM 文件、多语言切换
c++·qt
地平线开发者18 小时前
【模型轻量化专题】衡量模型轻量性的指标
算法
程与留19 小时前
14_Qt 样式表(QSS)入门(语法、选择器、美化实战)
c++·qt
学习星球21 小时前
OFDM技术精讲:正交性推导、循环前缀原理与80行Python链路仿真(附实测数据)
算法·面试·前端框架
欧特克_Glodon1 天前
OpenCV计算机视觉开发入门与实践<二十七>:图像分割概述
c++·人工智能·opencv·计算机视觉
蒸蒸yyyyzwd1 天前
cpp 选手秋招学习笔记 day21
c++·面试·八股
alphaTao1 天前
LeetCode 每日一题 2026/8/24-2026/8/30
python·算法·leetcode
Interview Aid1121 天前
TikTok OA 四题分享|半小时内 AC,题目基本都是实现题
java·开发语言·算法·面试·职场和发展
顶点多余2 天前
那些在算法中适合巩固的知识点---1
java·前端·算法
AI情绪识别开源2 天前
检信 ALLEMOTION OS 加密打包可执行程序 — 全面测试报告版本: v1.3功能测试 / 性能测试 /
开发语言·数据结构·人工智能·功能测试