C++输出100以内的素数

news2024/11/18 1:32:42

以下是一个简单的C++程序,用于输出100以内的所有素数:

  1. #include <iostream>
  2. using namespace std;
  3. int main() {
  4.     int num, i, flag = 0;
  5.     for(num = 2; num <= 100; num++) {
  6.         flag = 0;
  7.         for(i = 2; i <= num/2; i++) {
  8.             if(num % i == 0) {
  9.                 flag = 1;
  10.                 break;
  11.             }
  12.         }
  13.         if(flag == 0) {
  14.             cout << num << " ";
  15.         }
  16.     }
  17.     return 0;
  18. }

这个程序使用嵌套循环来检查每个数字是否为素数。外层循环从2开始遍历到100,内层循环从2开始遍历到当前数字的一半。如果当前数字可以被内层循环中的任何一个数字整除,则说明它不是素数,将标记设置为1,并跳出内层循环。如果内层循环完成后标记仍然为0,则说明当前数字是素数,将其输出。

好的,以下是这个C++程序的完整代码:

  1. #include <iostream>
  2. using namespace std;
  3. int main() {
  4.     int num, i, flag = 0;
  5.     cout << "2 ";  // 输出2作为第一个素数
  6.     for(num = 3; num <= 100; num++) {
  7.         flag = 0;
  8.         for(i = 2; i <= num/2; i++) {
  9.             if(num % i == 0) {
  10.                 flag = 1;
  11.                 break;
  12.             }
  13.         }
  14.         if(flag == 0) {
  15.             cout << num << " ";
  16.         }
  17.     }
  18.     cout << endl;
  19.     return 0;
  20. }

在这个程序中,我们首先输出2作为第一个素数,然后从3开始遍历到100,使用嵌套循环来检查每个数字是否为素数。如果一个数字是素数,将其输出。最后,输出一个换行符以美观地结束输出。

好的,以下是这个C++程序的进一步优化版本:

  1. #include <iostream>
  2. using namespace std;
  3. int main() {
  4.     int num, i, flag = 0;
  5.     cout << "2 ";  // 输出2作为第一个素数
  6.     for(num = 3; num <= 100; num++) {
  7.         flag = 1;
  8.         for(i = 2; i <= num/2; i++) {
  9.             if(num % i == 0) {
  10.                 flag = 0;
  11.                 break;
  12.             }
  13.         }
  14.         if(flag == 1) {
  15.             cout << num << " ";
  16.         }
  17.     }
  18.     cout << endl;
  19.     return 0;
  20. }

在这个版本中,我们做了一些优化来提高程序的效率。我们首先将flag设置为1,然后在内层循环中检查是否存在一个因子。如果找到了一个因子,我们将flag设置为0并跳出循环。如果在内层循环结束后flag仍然为1,说明当前数字是素数,将其输出。这个优化可以避免在已经确定是合数的情况下继续进行无用的检查。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1270375.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【面试HOT200】回溯篇

系列综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人整理为了秋招面试的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;材料主要源于【CodeTopHot300】进行的&#xff0c;每个知识点的修正和深入主要参…

测试相关-面试高频

测试面试相关 面试 测试的具体场景 功能测试 具体的测试工具Jmeter Postman selenium pytest 怎么看待测试的潜力与挑战 软件测试是正在快速发展&#xff0c;充满挑战的领域。尽管现在许多自动化测试软件的出现使得传统手工测试的方式被代替&#xff0c;但自动化测试工具的…

使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式

文章目录 一、引言&问题描述二、解决方案 一、引言&问题描述 在使用Spring来管理对象时&#xff0c;我们需要创建Spring的配置文件applicationContext.xml&#xff0c;如下图位置&#xff1a; 在resources目录下选择new->File 或 使用idea自带模板new->XML Con…

韩国DMF注册信息在线查询

DMF&#xff08;Drug Master File&#xff09;是药品主文件的缩写&#xff0c;一般DMF中包含了与药品相关的化学、制造、控制、稳定性、质量控制等方面的详细信息&#xff0c;根据各国的要求所含内容各不相同。而韩国DMF一般可以简称为KDMF: Korea Drug Master File&#xff0c…

<avue-crud/>,二级表头,children下字典项的dicUrl失效问题

目录 1.提出问题&#xff1a; 1.1 代码&#xff1a; 1.2 效果图&#xff1a;会发现处在children下的dicUrl失效了 2. 解决思路 3. 解决代码&#xff08;你要的都在这&#xff0c;看这里&#xff09; 1.提出问题&#xff1a; 在使用<avue-crud/>组件实现二级表头时&…

漏洞复现--安恒明御安全网关 aaa_local_web_preview 任意文件上传

免责声明&#xff1a; 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直…

OSG编程指南<十四>:OSG纹理渲染之普通纹理、多重纹理、Mipmap多级渐远纹理及TextureRectangle矩阵纹理

1、纹理映射介绍 物体的外观不仅包括形状&#xff0c;不同物体表面有着不同的颜色和图案。一个简单而有效地实现这种特性的方法就是使用纹理映射。在三维图形中&#xff0c;纹理映射&#xff08;Texture Mapping&#xff09;的方法运用广泛&#xff0c;使用该技术可以大大提高物…

BatchOutput PDF for Mac(PDF 批量处理软件)

BatchOutput PDF是一款适用于 Mac 的 PDF 批量处理软件。它可以帮助用户将多个 PDF 文件进行异步处理&#xff0c;提高工作效率。 BatchOutput PDF 可以自动化执行许多任务&#xff0c;包括 PDF 文件的打印、转换、分割、压缩、加密、重命名等&#xff0c;而且它还可以将自定义…

公有云频繁宕机引发思考:超越灾难,跨云容灾的未来

近期&#xff0c;阿里云全球服务器和可用区的故障事件导致所有依赖其服务的应用在三个小时内无法使用&#xff0c;这一事件凸显了单一云服务依赖的风险。成千上万的企业和服务瞬间陷入混乱&#xff0c;这不仅仅是技术故障的问题&#xff0c;而是关乎信任、安全和业务连续性的危…

【蓝桥杯选拔赛真题49】python英文转换 青少年组蓝桥杯python 选拔赛STEMA比赛真题解析

目录 python英文转换 一、题目要求 1、编程实现 2、输入输出 二、算法分析

私家车位共享APP-计算机毕业设计源码24384

目 录 摘要 1 绪论 1.1 课题的研究背景 1.2研究内容与研究目标 1.3ssm框架 1.4论文结构与章节安排 2 2 私家车位共享APP系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据增加流程 2.2.2 数据修改流程 2.2.3数据删除流程 2.3 系统功能分析 2.3.1功能性分析 2…

使用Java将properties转为yaml,保证顺序、实测无BUG版本

使用Java将properties转为yaml 一 前言1.1 顺序错乱的原因1.2 遗漏子节点的原因 二、优化措施三、源码 一 前言 浏览了一圈网上的版本&#xff0c;大多存在以下问题&#xff1a; 转换后顺序错乱遗漏子节点 基于此进行了优化&#xff0c;如果只是想直接转换&#xff0c;可直接…

golang—kafka架构原理快速入门以及自测环境搭建(docker单节点部署)

kafka Apache Kafka 是一个分布式的流处理平台。它具有以下特点&#xff1a; 支持消息的发布和订阅&#xff0c;类似于 RabbtMQ、ActiveMQ 等消息队列支持数据实时处理能保证消息的可靠性投递支持消息的持久化存储&#xff0c;并通过多副本分布式的存储方案来保证消息的容错高…

【代码】考虑区域多能源系统集群协同优化的联合需求侧响应模型(完美复现)

程序名称&#xff1a;考虑区域多能源系统集群协同优化的联合需求侧响应模型 实现平台&#xff1a;matlab-yalmip-cplex/gurobi 代码简介&#xff1a;风电、光伏发电等波动电源接入比例不断提高&#xff0c;使得区域多能源系统中能量转化和协调能力减弱。基于此&#xff0c;该…

orvibo旗下的VS30ZW网关分析之一

概述 从官网的APP支持的智能中枢来看,一共就两种大类: MixPad系列和网关系列 排除MixPad带屏网关外,剩余的设备如下图: 目前在市场上这四种网关已经下市,官方已经宣布停产。所以市场上流通的也几乎绝迹。 从闲鱼市场上可以淘到几个,拿来分析一下,这里我手头有如下的两…

简单字符串处理

答案&#xff1a; #include <stdio.h> #include <string.h> #define MAX 51 //该定义宏为字符串最大长度 int main() {char arr[MAX] { 0 }; gets(arr); //读取存给arrint len 0, i 0, num 0;len strlen(arr); //len代表字符串长度for (i 0; i &l…

【实战教程】PHP如何轻松对接阿里云直播?

1. 配置阿里云直播的推流地址和播放地址 使用阿里云直播功能前&#xff0c;首先需要在阿里云控制台中创建直播应用&#xff0c;然后获取推流地址和播放地址。 推流地址一般格式为&#xff1a; rtmp://{Domain}/{AppName}/{StreamName}?auth_key{AuthKey}-{Timestamp}-{Rand…

Docker安装Elasticsearch以及ik分词器

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎&#xff0c;能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心&#xff0c;Elasticsearch 会集中存储您的数据&#xff0c;让您飞快完成搜索&#xff0c;微调相关性&#xff0c;进行强大的分析&#xff…

微服务中配置Nacos热更新

启动Nacos startup.cmd -m standalone 在IDE中启动服务 打开nacos管理后台并选择配置列表 创建配置(这里以日期格式为例) 因为这里配置的是userservice的服务,所以在userservice服务的pom文件中引入依赖 配置一个bootstrap.yml文件 注意这里bootstrap文件中配置过的内容,在app…

一起学docker系列之十五深入了解 Docker Network:构建容器间通信的桥梁

目录 1 前言2 什么是 Docker Network3 Docker Network 的不同模式3.1 桥接模式&#xff08;Bridge&#xff09;3.2 Host 模式3.3 无网络模式&#xff08;None&#xff09;3.4 容器模式&#xff08;Container&#xff09; 4 Docker Network 命令及用法4.1 docker network ls4.2 …