C++输出100以内的素数

以下是一个简单的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.hqwc.cn/news/233589.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何搭建外网可访问的Serv-U FTP服务器,轻松远程共享文件!

目录 1. 前言 2. 本地FTP搭建 2.1 Serv-U下载和安装 2.2 Serv-U共享网页测试 2.3 Cpolar下载和安装 3. 本地FTP发布 3.1 Cpolar云端设置 3.2 Cpolar本地设置 4. 公网访问测试 5. 总结 1. 前言 科技日益发展的今天&#xff0c;移动电子设备似乎成了我们生活的主角&am…

汽美汽修店服务预约会员管理系统小程序效果如何

很多家庭中都有一辆或多辆汽车&#xff0c;无论燃油车还是新能源电车等&#xff0c;其市场中的数量及人均拥有量都很大&#xff0c;除了汽车销售业外&#xff0c;汽车美容修理店则生意也很多&#xff0c;可以看到城市中的不少街道中都有大大小小的汽车服务门店。 而在市场中&a…

Java —— ArrayList与顺序表

目录 1. 线性表 2. 顺序表 接口的实现 3. ArrayList简介 3.1 ArrayList介绍 3.2 ArrayList的构造方法 4. ArrayList的扩容机制 5. ArrayList的常见操作 6. ArrayList的遍历 7. 例题 8. ArrayList的具体使用 8.1 简单的洗牌算法 8.2 杨辉三角 9. ArrayList的问题及思考 1. 线性表…

好视通云会议 upLoad2.jsp 任意文件上传漏洞复现

0x01 产品简介 好视通云会议是基于 Internet 的网络视频会议产品&#xff0c;用户使用好视通云会议可以实现多人音视频交流、文字聊天、共享文档、共享屏幕等&#xff0c;会议的管理者可以控制其他参会人的各种权限&#xff0c;可以将会议录制成视频&#xff0c;对会场进行点名…

JMeter 常见易错问题

1、配置错误&#xff1a; 问题&#xff1a;线程组配置错误&#xff0c;例如设置了错误的线程数或循环次数。 解决方法&#xff1a;检查线程组的配置。确保线程数&#xff08;即并发用户数量&#xff09;设置正确&#xff0c;以及循环次数符合预期。如果要模拟不同类型的用户行…

在 S/4HANA、ECC 和 ERP 上轻松扩展或简化 SAP WM,并将其自动化到移动环境中

为您的 SAP WM 提供完整的本地 SAP 图形用户界面 基于原生通道架构&#xff08;NCA&#xff09;&#xff0c;iOS、Android 和手持 Scanguns 版 Liquid UI 可与 SAP WM 原生连接&#xff0c;同时保留 SAP GUI 丰富的事务处理功能。它使您无需编程即可直接从移动设备访问 MIGO、…

日志监控(确保日志在你这台计算机上面)

如果你希望在Linux上面实时监控日志文件的变化并动态刷新&#xff0c;可以考虑使用一些外部工具&#xff0c;如 tail 命令&#xff1a; tail -f your_log_file.logWindows可以使用Notepad&#xff1a;

卓越进行时 | 市人大常委组织深入赛宁网安考察调研

11月28日&#xff0c;市人大常委会党组书记、主任龙翔来到基层一线&#xff0c;督导江宁区主题教育工作。市委第五巡回督导组组长鲍陈&#xff0c;区领导赵洪斌、任宁等参加。 督导期间&#xff0c;龙翔在网络安全卓越中心听取赛宁网安研发情况汇报&#xff0c;了解公司产品在…

每日汇评:在美国通胀数据前,黄金多头变得谨慎起来

黄金价格在连续五天上涨后&#xff0c;周四早间稍作休息&#xff1b; 在个人消费支出通胀数据公布前&#xff0c;美元和美债收益率巩固了下行空间&#xff1b; 超买状况可能限制金价的上行空间&#xff0c;因为月底的资金流动可能占主导地位&#xff1b; 昨日亚盘交易时段&…

Xilinx FPGA——ISE的UCF时序约束

时序约束是我们对FPGA设计的要求和期望&#xff0c;例如&#xff0c;我们希望FPGA设计可以工作在多快的时钟频率下等等。 设计是要求系统中的每一个时钟都进行时序约束。 一、分组约束语法&#xff08;NET、PIN、INST&#xff09; TNM是最基本的分组约束语法&#xff0c;其语法…

Achronix推出基于FPGA的加速自动语音识别解决方案

提供超低延迟和极低错误率&#xff08;WER&#xff09;的实时流式语音转文本解决方案&#xff0c;可同时运行超过1000个并发语音流 2023年11月——高性能FPGA芯片和嵌入式FPGA&#xff08;eFPGA IP&#xff09;领域的领先企业Achronix半导体公司日前自豪地宣布&#xff1a;正式…

QML学习一、GridView的使用和增加添加动画、删除动画

一、效果预览 二、源码分享 import QtQuick import QtQuick.ControlsApplicationWindow {visible: truewidth: 640height: 480title: "Test"property int cnt:cnt model.countListModel{id:modelListElement{index:0}ListElement{index:1}ListElement{index:2}List…