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

C++ 素数的筛选法与穷举法

题目:素数大酬宾:

【问题描述】 某商场的仓库中有 n 种商品,每件商品按 1~n 依次编号。现在商场经理突发奇想,决定将编号为素数(质数)的所有商品拿出来搞优惠酬宾活动。请编程帮助仓库管理员将编号为素数的商品选出来。

【输入格式】 一行一个正整数 n,表示有 n 种商品,2≤n≤100000。

【输出格式】 一行若干个正整数,表示若干种商品编号且每个编号均为素数,请从小到大输出,每两个数之间有一个空格。

【输入样例】 20

【输出样例】 2 3 5 7 11 13 17 19

1、穷举法

穷举商品编号 2~n,判断每个编号是否为素数。这种方法效率不高,一旦 n 过大,程序就会超时。

#include<iostream>
#include<cmath>
using namespace std;
int main(){int n,i,j; bool flag;cin >> n;cout << 2;for(i = 3; i <= n; i++){flag = true;for(j = 2; j <= sqrt(i); j++)if(i % j == 0){flag = false;break;}if(flag) cout <<  " " << i;}cout << endl;return 0;
}

2、筛选法

筛选法的思路:

划去1‌:因为1不是素数。

圈出2‌:2是素数,留下2,划去2的倍数。

圈出3‌:3是素数,留下3,划去3的倍数。

圈出5‌:5是素数,留下5,划去5的倍数。

圈出7‌:7是素数,留下7,划去7的倍数。

重复上述步骤‌:继续用下一个未被划去的数作为除数,划去其倍数,直到没有更多的数可以划去为止。

#include<iostream>
#include<cmath>
using namespace std;
int main(){int n,i,j;bool p[100001];for(i = 0; i <= 100000; i++) p[i] = true;p[1] = false;cin >> n;cout << 2;  // 输出素数2// 思路:第一轮筛选2以及删除掉2的倍数;第二轮筛选3以及3的倍数...for(i = 2; i <= sqrt(n); i++)  if(p[i])  for(j = 2; i*j <= n; j++) p[i*j] = false;// 输出质数3包括3之后的素数for(i = 3; i <= n; i++)  if(p[i]) cout <<  " "<< i; cout << endl;return 0;
}

相关文章:

C++ 素数的筛选法与穷举法

题目:素数大酬宾&#xff1a; 【问题描述】 某商场的仓库中有 n 种商品&#xff0c;每件商品按 1~n 依次编号。现在商场经理突发奇想&#xff0c;决定将编号为素数&#xff08;质数&#xff09;的所有商品拿出来搞优惠酬宾活动。请编程帮助仓库管理员将编号为素数的商品选出来…...

Spring Boot异步任务、任务调度与异步请求线程池的使用及原理

Spring Boot异步任务、任务调度与异步请求线程池的使用及原理 在Spring Boot应用程序中&#xff0c;异步任务、任务调度和异步请求线程池是提高系统性能和响应速度的重要工具。本文将详细讲解这些概念的使用及原理。 一、异步任务 异步任务是指可以在后台线程上执行的任务&a…...

Java爬虫之使用Selenium WebDriver 爬取数据

这里写自定义目录标题 Selenium WebDriver简介一、安装部署二、Java项目中使用1.引入依赖2.示例代码 三、WebDriver使用说明1.WebDriver定位器2.常用操作3.使用 cookie4.键盘与鼠标操作 Selenium WebDriver简介 Selenium WebDriver 是一种用于自动化测试 Web 应用程序的工具。…...

MyBatis 中updateByPrimaryKey和updateByPrimaryKeySelective区别

在 MyBatis 中&#xff0c;updateByPrimaryKey和updateByPrimaryKeySelective主要有以下区别&#xff1a; 一、功能 updateByPrimaryKey&#xff1a; 会根据传入的实体对象&#xff0c;将数据库表中对应主键的记录所有字段全部更新为实体对象中的值。即使实体对象中的某些字段…...

JavaScript下载文件(简单模式、跨域问题、文件压缩)

文章目录 简介简单文件下载通过模拟form表单提交通过XMLHttpRequest方式 跨域(oss)下载并压缩文件完整示例文件压缩跨域设置 简介 相信各位开发朋友都遇到过下载的文件的需求&#xff0c;有的非常简单&#xff0c;基本链接的形式就可以。 有的就比较复杂&#xff0c;涉及跨域…...

Django 定义使用模型,并添加数据

教材&#xff1a; Python web企业级项目开发教程&#xff08;黑马程序员&#xff09;第三章 模型 实验步骤&#xff1a; 1.创建项目和应用 前置步骤可看前文&#xff0c;进入到指定文件位置后创建 django-admin startproject mysite python manage.py startapp app01 2.注册…...

联名物料常泄漏?一端叠满“安全buff”

前段时间&#xff0c;一则关于爆火影视剧与知名茶饮品牌联名的消息在社交平台上迅速传播&#xff0c;宣传物料的照片也随之曝光——门店尚未上新&#xff0c;“小道消息”便已被疯传。但这种情况并非首次发生&#xff0c;让众多网友不禁猜想&#xff1a;这究竟是一场精心策划的…...

Flutter UI组件库(JUI)

Flutter UI组件库 (JUI) 介绍 您是否正在寻找一种方法来简化Flutter开发过程&#xff0c;并创建美观、一致的用户界面&#xff1f;您的搜索到此为止&#xff01;我们的Flutter UI组件库&#xff08;JUI&#xff09;提供了广泛的预构建、可自定义组件&#xff0c;帮助您快速构建…...

国外电商系统开发-运维系统远程文件

设计初衷是为了让所有人都能方便的打开网页&#xff0c;就能查看Linux系统文件内容&#xff0c;而不再用cat、vim、more等命令去打开文件&#xff0c;这对于我们一个普通的研发或者是财务人员来说&#xff0c;显得太繁琐&#xff0c;因为他们很可能不会这些命令&#xff0c;其次…...

4. Node.js Path模块

2.3Path模块 2.3.1获取js文件的绝对路径 console.log(__dirname) //js文件所在的文件夹的绝对路径 console.log(__filename) //js文件的绝对路径输出&#xff1a; G:\py_project\nodejs_study G:\py_project\nodejs_study\file.js2.3.2拼接规范的绝对路径path.r…...

重构长方法之分解条件表达式

分解条件表达式 是一种重构长方法中常用的技术&#xff0c;它适用于复杂的条件逻辑。在方法中&#xff0c;条件分支&#xff08;if-else 或 switch&#xff09;有时会变得条件非常多&#xff0c;非常复杂&#xff0c;难以理解和维护。通过分解条件逻辑&#xff0c;可以让代码更…...

蚁群算法养老服务人员智能调度系统

养老行业近年来越发热门&#xff0c;如何有效调配服务人员成为许多机构的痛点。我们结合智能算法技术&#xff0c;开发出了一款专为养老行业量身打造的“蚁群算法养老服务人员调度系统”&#xff0c;能够精准、高效地为机构分配人员&#xff0c;从此告别人力资源调度难题。 系…...

java使用 IDEA自动补全功能 AI 插件

国内插件&#xff1a; CodeGeeX&#xff1a; 功能特性&#xff1a; 由国内团队开发&#xff0c;是一款智能编程助手插件。它集成了多种人工智能技术&#xff0c;能够在多个编程语言中提供智能代码补全、代码生成、代码优化和注释生成等功能。该插件特别适用于常见的编程任务…...

【ShuQiHere】 AI与自我意识:能否创造真正的自觉机器人?

&#x1f916;【ShuQiHere】 &#x1f4dc; 目录 引言人类意识的探索机器意识的五大理论 功能主义&#xff08;Functionalism&#xff09;信息整合&#xff08;Information Integration&#xff09;体现主义&#xff08;Embodiment&#xff09;行动主义&#xff08;Enaction&…...

【Linux 从基础到进阶】CPU性能调优与监控

CPU性能调优与监控 1. 引言 在计算机系统中&#xff0c;CPU是核心组件之一&#xff0c;其性能直接影响系统的整体表现和响应速度。无论是在企业服务器环境、虚拟化环境&#xff0c;还是大数据计算场景&#xff0c;优化和监控CPU性能都至关重要。通过合理的调优策略和监控工具…...

Centos基线自动化检查脚本

此脚本是一个用于检查Linux系统安全配置的Bash脚本。它通过多项安全标准对系统进行评估&#xff0c;主要检查以下内容&#xff1a; IP地址获取&#xff1a;脚本首先获取主机的IP地址&#xff0c;确保其以10.115开头。 密码策略检查&#xff1a; 检查最小密码长度&#xff08;P…...

OpenCV答题卡识别

文章目录 一、基本流程二、代码实现1.定义函数2.图像预处理&#xff08;1&#xff09;高斯模糊、边缘检测&#xff08;2&#xff09;轮廓检测&#xff08;3&#xff09;透视变换&#xff08;4&#xff09;阈值处理和轮廓检测 3.筛选和排序选项轮廓4.判断答案5.显示结果 三、总结…...

通用数据库对象设计

1. 公共属性 这里的数据模型以陈品山的实体-关系模型为基础&#xff0c;增加了两点修改。一是用“组”的概念表达实体间关系&#xff0c;并将组作为一种特殊实体。二是采用继承的思想&#xff0c;将实体的公共属性提取出来&#xff0c;放到统一表中。实体的特有属性保存在单独…...

Java基础12-特殊文件和日志技术

十二、特殊文件和日志技术 1、特殊文件 properties&#xff1a;用来存储键值对数据。 xml&#xff1a;用来存储有关系的数据。 1.1 properties文件 特点&#xff1a;存储键值对&#xff0c;键不能重复&#xff0c;文件后缀一般是.properties结尾的。 properties&#xff1a;是…...

2.4 STM32启动过程

目录 一,启动Flow 1.1 初始化MSP 1.2 初始化PC 1.3 设置堆栈大小 1.4初始化中断向量表 1.5 调用初始化函数(可选) 1.6 调用__main 二,Reset_Handler函数 一,启动Flow 下面是stm32在内部FLASH启动的启动建议流程图,在stm32复位到执行我们程序的main函数的过程中,…...

旧Mac升级终极指南:用OpenCore Legacy Patcher解锁新系统完整方案

旧Mac升级终极指南&#xff1a;用OpenCore Legacy Patcher解锁新系统完整方案 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 当你的老款Mac提示"此设备不支持最新ma…...

芯片验证工程师必备:SVA断言中的assert/cover/assume核心区别与典型误用案例

芯片验证工程师必备&#xff1a;SVA断言中的assert/cover/assume核心区别与典型误用案例 在芯片验证领域&#xff0c;SystemVerilog Assertion&#xff08;SVA&#xff09;是验证工程师不可或缺的利器。对于1-3年经验的验证工程师而言&#xff0c;深入理解assert、cover和assum…...

Flux Sea Studio 入门:十分钟完成星图平台镜像部署并生成首张图片

Flux Sea Studio 入门&#xff1a;十分钟完成星图平台镜像部署并生成首张图片 想试试最近很火的AI绘画&#xff0c;但又觉得本地部署太麻烦&#xff0c;显卡要求太高&#xff1f;今天咱们就来聊聊一个超级省事的办法——直接在云端用Flux Sea Studio。你不需要懂代码&#xff…...

梦幻动漫魔法工坊快速上手:无需代码,网页端直接生成动漫图像

梦幻动漫魔法工坊快速上手&#xff1a;无需代码&#xff0c;网页端直接生成动漫图像 你是否也曾幻想过&#xff0c;用几句话就能召唤出脑海中的梦幻场景&#xff1f;一个可爱的猫耳少女&#xff0c;在樱花树下回眸&#xff1b;或是奇幻的魔法森林里&#xff0c;精灵在月光下起…...

Cogito-V1-Preview-Llama-3B开发环境配置:从零开始安装Python及必备库

Cogito-V1-Preview-Llama-3B开发环境配置&#xff1a;从零开始安装Python及必备库 想玩转Cogito-V1-Preview-Llama-3B这样的AI模型&#xff0c;第一步不是研究复杂的算法&#xff0c;而是把“地基”打好。这个地基&#xff0c;就是你的开发环境。很多朋友兴致勃勃地下载了模型…...

【20年Cython+PyO3专家亲授】:绕过GIL的Python扩展中87%并发崩溃的底层内存模型误用解析

第一章&#xff1a;Python无锁GIL环境下的并发模型报错解决方法Python 的全局解释器锁&#xff08;GIL&#xff09;本质上限制了多线程在 CPU 密集型任务中的真正并行性。然而&#xff0c;随着 PyPy、Jython、Cython 以及实验性无 GIL CPython 分支&#xff08;如 PEP 703 提案…...

哔哩下载姬downkyi:零基础到专业级的B站视频高效管理指南

哔哩下载姬downkyi&#xff1a;零基础到专业级的B站视频高效管理指南 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水印等&am…...

FigmaCN:消除语言壁垒的中文界面本地化解决方案

FigmaCN&#xff1a;消除语言壁垒的中文界面本地化解决方案 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN FigmaCN是一款专为中文设计师打造的浏览器插件&#xff0c;通过3800条人工校…...

IndexTTS 2.0情感控制效果:用自然语言描述生成对应语气语音

IndexTTS 2.0情感控制效果&#xff1a;用自然语言描述生成对应语气语音 1. 引言&#xff1a;语音合成的革命性突破 想象一下这样的场景&#xff1a;你正在制作一部动画短片&#xff0c;主角需要说一句"我受够了&#xff01;"——但你不只是想让它"说出来"…...

SAP工单组件批量添加技巧:CO_XT_COMPONENT_ADD与CO_XT_ORDER_PREPARE_COMMIT组合使用教程

SAP工单组件批量添加实战&#xff1a;CO_XT_COMPONENT_ADD与CO_XT_ORDER_PREPARE_COMMIT深度解析 在SAP生产订单管理中&#xff0c;批量添加组件是制造企业常见的需求场景。当面对数百甚至上千个工单组件需要同时维护时&#xff0c;传统GUI操作不仅效率低下&#xff0c;还容易出…...