当前位置: 首页 > news >正文

理论知识.质数打表

啊,哈喽,小伙伴们大家好。我是#张亿,今天呐,学的是理论知识.质数打表

为什么需要质数打表

我们已经学习了如何判断一个数是不是质数了,但是还不够。假设要判断很多很多个数是不是质数的时候,之前的学习的方法效率不够高。因为,如果 n 是质数,需要从 2 枚举到 sqrt(n) ,如果题目里面要你几百几千个数逐一判断是否是质数,则很可能会超时。

所谓 质数打表,是指先通过一段比较高效的代码,完成了前期运算,把每一个数是不是质数的信息 表格化 ,在程序的其它位置,如果需要判断一个数是不是质数,只需要去这个预先计算好的表格里面查一下就可以了。

质数打表的算法思路

我们只需要把合数找到,那么自然就能找到质数了。而找合数的思路,则是:从小到大去找质数,每找到一个新的质数,则去把这个质数的倍数标记出来,这些倍数就是合数,而那些自始至终没有被标记过的数就是质数。例如,当我们指导 13 是质数的时候,我们就把 26,39,52,65... 等一系列的合数标记出来。课程E.倍数 的这条题就是演练这个算法思想的。

下面是质数打表的代码:

bool flag[1000001];
void prepare_prime() //质数打表的函数 
{int i,j;for(i=2;i<=1000000;i++){if(!flag[i]) //表示 i是一个质数{for(j=2;i*j<=1000000;j++) //对 j 的倍数(不包含自己)全部设置标记,表示这些数是合数 flag[i*j] = true; }}
}

Copy

执行了上面的 prepare_prime( ) 函数,就产生了 1000000 以内的质数表了。当 flag[i] 为true,表示 i 是合数,flag[i] 为 false 则表示 i 是质数。 1 是特殊的,1 既不是质数又不是合数,单独判断。

常见错误

本来题目要你找出 n 以内的素数,但是你打表的时候的第一层循环只循环到 sqrt(n) ,这是错误的,这会漏掉了很多 比 sqrt(n) 大的质数。

相关文章:

理论知识.质数打表

啊&#xff0c;哈喽&#xff0c;小伙伴们大家好。我是#张亿&#xff0c;今天呐&#xff0c;学的是理论知识.质数打表 为什么需要质数打表 我们已经学习了如何判断一个数是不是质数了&#xff0c;但是还不够。假设要判断很多很多个数是不是质数的时候&#xff0c;之前的学习的…...

FFMPEG+ANativeWinodow渲染播放视频

前言 学习音视频开发&#xff0c;入门基本都得学FFMPEG&#xff0c;按照目前互联网上流传的学习路线&#xff0c;FFMPEGANativeWinodow渲染播放视频属于是第一关卡的Boss&#xff0c;简单但是关键。这几天写了个简单的demo&#xff0c;可以比较稳定进行渲染播放&#xff0c;便…...

使用AXI MIG/Proc Sys Reset

使用AXI MIG/Proc Sys Reset 重要&#xff01;仅当您的设计中包含AXI MIG时&#xff0c;才执行以下步骤。 AXI-MIG的连接接口 1.选择在/mig_7series_0/S_AXI上运行连接自动化。 2.选择/micblaze_0&#xff08;缓存&#xff09;或/micblaze _0&#xff08;Periph&#xff09;选项…...

Android基础-Kotlin语言的作用及优缺点

一、Kotlin语言的作用 Kotlin是一种由JetBrains公司开发的现代化静态类型编程语言&#xff0c;自其诞生以来&#xff0c;便在多个领域展现出了强大的应用潜力。其主要作用可以概括为以下几点&#xff1a; Android应用开发&#xff1a;Kotlin作为Android开发的官方推荐语言&am…...

手机投屏技巧:手机怎么投屏到电脑显示屏上?精选6招解决!

手机怎么投屏到电脑显示屏上&#xff1f;出于一些不同的原因&#xff0c;大多数人都希望能将手机投屏到电脑上。其中一个常见的原因是&#xff0c;大家经常会希望在笔记本电脑上共享图片&#xff0c;而无需上传或者登录微信进行文件传输。以及希望不依靠投影仪&#xff0c;就能…...

内存函数<C语言>

前言 前面两篇文章介绍了字符串函数&#xff0c;不过它们都只能用来处理字符串&#xff0c;C语言中也内置了一些内存函数来对不同类型的数据进行处理&#xff0c;本文将介绍&#xff1a;memcpy()使用以及模拟实现&#xff0c;memmove()使用以及模拟实现&#xff0c;memset()使用…...

华为校招机试 - LRU模拟(20240515)

题目描述 LRU(Least Recently Used)缓存算法是一种常用于管理缓存的策略,其目标是保留最近使用过的数据,而淘汰最久未被使用的数据。 实现简单的LRU缓存算法,支持查询、插入、删除操作。 最久未被使用定义:查询、插入和删除操作均为一次访问操作,每个元素均有一个最后…...

AI预测福彩3D采取888=3策略+和值012路一缩定乾坤测试5月29日预测第5弹

今天继续基于8883的大底&#xff0c;使用尽可能少的条件进行缩号&#xff0c;同时&#xff0c;同样准备两套方案&#xff0c;一套是我自己的条件进行缩号&#xff0c;另外一套是8883的大底结合2码不定位奖号预测二次缩水来杀号。好了&#xff0c;直接上结果吧~ 首先&…...

03_前端三大件CSS

文章目录 CSS用于页面元素美化1.CSS引入1.1style方式1.2写入head中&#xff0c;通过写style然后进行标签选择器加载样式1.3外部样式表 2.CSS样式选择器2.1 元素选择器2.2 id选择器2.3 class选择器 3.CSS布局相关3.1 CSS浮动背景&#xff1a;先设计一些盒子因此&#xff0c;引出…...

十种常用数据分析模型

1-线性回归&#xff08;Linear Regression&#xff09; 场景&#xff1a;预测商品销售额 优点&#xff1a;简单易用&#xff0c;结果易于解释缺点&#xff1a;假设线性关系&#xff0c;容易受到异常值影响概念&#xff1a;建立自变量和因变量之间线性关系的模型。公式&#x…...

salesforce 公式字段 判断一个字段是否在某个多选列表中

在 Salesforce 中&#xff0c;你可以使用公式字段来判断一个字段的值是否在一个多选列表中。这通常涉及使用包含特定值的函数和一些字符串操作。以下是一个常见的方法&#xff1a; 假设你有一个多选列表字段 Multi_Select_Field__c&#xff0c;你想检查这个字段是否包含某个值…...

C++STL容器系列(三)list的详细用法和底层实现

目录 一&#xff1a;介绍二&#xff1a;list的创建和方法创建list方法 三&#xff1a;list的具体用法3.1 push_back、pop_back、push_front、pop_front3.2 insert() 和 erase()3.3 splice 函数 四&#xff1a;list容器底层实现4.1 list 容器节点结构5.2 list容器迭代器的底层实…...

IEEE Latex模版踩雷避坑指南

参考文献 原Latex模版 \begin{thebibliography}{1} \bibliographystyle{IEEEtran}\bibitem{ref1} {\it{Mathematics Into Type}}. American Mathematical Society. [Online]. Available: https://www.ams.org/arc/styleguide/mit-2.pdf\bibitem{ref2} T. W. Chaundy, P. R. Ba…...

【C++】类与对象——多态详解

目录 一、多态的定义 二、重载、覆盖(重写)、隐藏(重定义)的对比 三、析构函数重写 四、C11 override 和 final 1. final 2. override 五、抽象类 六、多态的原理 一、多态的定义 多态是在不同继承关系的类对象&#xff0c;去调用同一函数&#xff0c;产生了不同的行为…...

WordPress建网站公司 建易WordPress建站

建易WordPress建网站公司是一家专业从事WordPress网站建设、网站维护、网站托管、运营推广和搜索引擎优化(SEO)等服务的公司。建易WordPress建网站公司提供多种服务&#xff0c;包括模板建站和定制网站&#xff0c;并且明码标价&#xff0c;价格透明&#xff0c;竭诚为全国各地…...

MySQL正则替换整个单词

\b 是正则表达式规定的一个特殊代码&#xff08;好吧&#xff0c;某些人叫它元字符&#xff0c;metacharacter&#xff09;&#xff0c;代表着单词的开头或结尾&#xff0c;也就是单词的分界处。虽然通常英文的单词是由空格&#xff0c;标点符号或者换行来分隔的&#xff0c;但…...

Java设计模式:享元模式实现高效对象共享与内存优化(十一)

码到三十五 &#xff1a; 个人主页 目录 一、引言二、享元设计模式的概念1. 对象状态的划分2. 共享机制 三、享元设计模式的组成四、享元设计模式的工作原理五、享元模式的使用六、享元设计模式的优点和适用场景结语 [参见]&#xff1a; Java设计模式&#xff1a;核心概述&…...

景源畅信电商:抖音开店步骤是什么?

随着社交媒体的兴起&#xff0c;抖音已经成为一个不可忽视的电商平台。许多人都希望通过抖音开店来实现自己的创业梦想。那么&#xff0c;抖音开店的具体步骤是什么呢?接下来&#xff0c;我们将详细阐述这一问题。 一、明确回答问题抖音开店的步骤主要包括&#xff1a;注册账号…...

Notepad++不显示CRLF的方法

View -> Show Symbol -> 去掉勾选 Show All Characters...

前端开发工程师——AngularJS

一.表达式和语句 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-w…...

Zotero插件版本兼容性问题深度解析:从冲突到解决方案

Zotero插件版本兼容性问题深度解析&#xff1a;从冲突到解决方案 【免费下载链接】zotero-format-metadata Linter for Zotero. An addon for Zotero to format item metadata. Shortcut to set title rich text; set journal abbreviations, university places, and item lang…...

从对话到执行:一文读懂AI Coding Agent的底层原理

为什么 Claude Code 等 AI Agent 能自己写代码、改 bug、提交 PR&#xff1f;为什么它和 ChatGPT 完全不一样&#xff1f;这篇文章用最简单的语言&#xff0c;拆解 AI Agent 的底层工作原理。一句话说清楚&#xff1a;AI Coding Agent 和普通 AI 有什么不同&#xff1f;普通 AI…...

zh3100组合式选粉机的设计【说明书+27张CAD图纸】

zh3100组合式选粉机作为粉体分级领域的核心设备&#xff0c;其设计融合了流体力学、机械传动与颗粒分离理论&#xff0c;通过优化结构参数与气固两相流场分布&#xff0c;实现高精度、低能耗的粉体分级作业。该设备采用模块化组合设计理念&#xff0c;将选粉室、导流装置、分级…...

Ruoyi-Vue3实战:10分钟搞定学生管理系统CRUD(附完整SQL)

Ruoyi-Vue3学生管理系统实战&#xff1a;从零到部署的完整指南 在当今快速迭代的开发环境中&#xff0c;选择高效的技术栈至关重要。Ruoyi-Vue3作为基于Spring Boot和Vue3的企业级开发框架&#xff0c;以其模块化设计和丰富的功能组件&#xff0c;成为快速构建管理系统的首选方…...

避开高光谱求导的坑:你的平滑做对了吗?附MATLAB代码与数据示例

高光谱微分预处理实战指南&#xff1a;如何避免噪声放大陷阱 第一次处理高光谱数据时&#xff0c;我兴奋地直接对原始光谱曲线求导&#xff0c;结果得到了一堆杂乱无章的噪声信号。这个教训让我明白了一个关键原则&#xff1a;未经平滑的微分操作就像在放大镜下观察指纹——细节…...

7个效率倍增技巧:StarRailAssistant自动化工具解放崩坏星穹铁道玩家双手

7个效率倍增技巧&#xff1a;StarRailAssistant自动化工具解放崩坏星穹铁道玩家双手 【免费下载链接】StarRailAssistant 崩坏&#xff1a;星穹铁道自动化 | 崩坏&#xff1a;星穹铁道自动锄大地 | 崩坏&#xff1a;星穹铁道锄大地 | 自动锄大地 | 基于模拟按键 项目地址: ht…...

Libero SoC v2021.1离线安装全攻略:从下载到IP核配置(附避坑指南)

Libero SoC v2021.1离线安装全攻略&#xff1a;从下载到IP核配置&#xff08;附避坑指南&#xff09; 在企业内网开发环境中&#xff0c;离线安装EDA工具往往面临诸多挑战。本文将手把手指导您完成Libero SoC v2021.1的完整离线部署流程&#xff0c;涵盖从安装包获取到IP核配置…...

Mysql 支持的复制类型

MySQL 的复制可以从两个维度进行分类,分别对应数据一致性和日志格式。下面分别说明。 一、按数据一致性分类 复制类型 机制 优点 缺点 适用场景 异步复制 主库提交事务后立即返回,不等待从库确认 性能最高,主库无延迟 主库故障可能丢失已提交事务 对一致性要求不高的场景(如…...

罗技鼠标宏压枪脚本:绝地求生精准射击的终极解决方案

罗技鼠标宏压枪脚本&#xff1a;绝地求生精准射击的终极解决方案 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 还在为《绝地求生》中的后坐力控…...

二进制魔法:解密Windows平台消息防撤回的底层实现

二进制魔法&#xff1a;解密Windows平台消息防撤回的底层实现 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁&#xff08;我已经看到了&#xff0c;撤回也没用了&#xff09; 项目地址: https://gitcode.com/Gi…...