C/C++最大质因子 2021年12月电子学会中小学生软件编程(C/C++)等级考试一级真题答案解析

目录

C/C++最大质因子

一、题目要求

1、编程实现

2、输入输出

二、算法分析

三、程序编写

四、程序说明

五、运行结果

六、考点分析


C/C++最大质因子

一、题目要求

1、编程实现

质因子是指能整除给定正整数的质数。而最大质因子是指一个整数的所有质因子中最大的那个。

比如30的质因子有2,3, 5,所以最大质因子就是5。

提示:质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

2、输入输出

输入描述:只有一行,一个整数N( 2 ≤ N ≤ 10000)

输出描述:只有一行,一个整数,即N的最大质因子

输入样例:

30

输出样例:

5

二、算法分析

  1. 从给定题目的初步分析来看,有点小难度,碰到这种题目需要逐步分析
  2. 题目要求的是最大质因数,所以可以先求最大因数,然后再求质因数
  3. 求最大因数,可以将这个数逐一的对从这个数的一半一直到2进行取余运算,如果余数为零,那第一个就是最大因数
  4. 然后在判断这个数是否是质数,也就是是否是素数,之前的案例中就多次碰到过,可以自定义一个返回类型为布尔类型的求素数的函数,

三、程序编写

#include<iostream> 
using namespace std;
bool Isprime(int k)
{for(int i=2;i<k/2+1;i++){if(k % i == 0)return false;}return true;	
}
int main()
{int n;cin >> n; for(int i=n/2;i>=2;i--){if(n%i == 0 && Isprime(i)){	cout << i << endl;break;}	}return 0;
}

四、程序说明

  1. 首先需要导入输入输出流头文件
  2. 接着再次导入输入输出流格式控制头文件
  3. 然后是引入std命名空间中的所有成员到当前的程序中,这样在当前的程序中就可以直接使用 std 命名空间中的所有成员,而不需要使用的时候在成员前面加上(std::)前缀
  4. 自定义求质素(素数)函数带一个参数,返回值为bool类型,从2一直遍历到当前参数的一半,如果这个参数能整除遍历的数,则返回false不是素数,相反到最后都没有能够整除的,那就返回true,说明这个传递进来的数就是素数
  5. 接着声明程序的入口,也就是主函数(主函数在一个程序中只允许出现一次)
  6. 根据题目要求声明一个整形变量n
  7. 然后利用输入流对象cin,从键盘读取这个变量的值
  8. 接着利用for循环自变量i从n/2开始逐一遍历到2,如果能被n整除,且这个数又是素数,那么这个数就是最大质因数,利用输出流对象cout输出i即可
  9. 最后返回0,程序结束

本文作者:小兔子编程 作者首页:https://blog.csdn.net/frank2102

五、运行结果

305

六、考点分析

难度级别:中等,这题相对而言有一点难度,具体主要考查如下:

  1. 充分掌握变量的定义和使用
  2. 学会如何求出一个数的因数,最大因数以及如何求一个数是素数
  3. 学会输入流对象cin的使用,从键盘读入相应的数据
  4. 学会for循环的使用,在确定循环次数的时候推荐使用学会
  5. 学会if条件判断语句的使用,满足一定条件才能执行后面的语句
  6. 掌握输出流对象cout的使用,与流插入运算符 << 结合使用将对象输出到终端显示
  7. 学会分析题目,算法分析,将复杂问题模块化,简单化,从中找到相应的解题思路
  8. 充分掌握变量定义和使用、逻辑与运算、分支语句、循环语句和简单算法知识的使用及输入输出的用法

PS:方式方法有多种,小朋友们只要能够达到题目要求即可!

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

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

相关文章

开源集群管理系统对比分析:Kubernetes 与 Apache Mesos

集群管理系统是关键的软件解决方案&#xff0c;可以在互连机器网络中有效分配和利用计算资源。毫无疑问&#xff0c;它们通过确保可扩展性、高可用性和有效的资源管理在现代计算中发挥着至关重要的作用&#xff0c;这使得它们对于运行复杂的应用程序、管理数据中心以及进一步增…

数据分析基础之《jupyter notebook工具》

一、安装库 1、linux库 yum install python3-devel 2、python库 pip3 install -U matplotlib pip3 install -U numpy pip3 install -U pandas pip3 install -U TA-Lib pip3 install -U tables pip3 install -U notebook 3、如果TA-Lib安装不上&#xff0c;先手动安装依赖库 …

cadence layout lvs时出现error

Error&#xff1a;Schematic export failed or was cancelled.Please consult the transcript in the viewer window. 解决办法同下&#xff1a; cadence layout lvs时出现error-CSDN博客

城市智慧路灯智能照明管理系统简介

城市路灯存在着开关灯控制方式单、亮灯时间不准确、巡查困难、故障处理不及时、亮灯率无法把控等问题&#xff0c;从而导致路灯系统能耗高&#xff0c;维护成本高。传统的路灯控制系统已无法满足智慧城市管理的需要&#xff0c;智能路灯照明控制系统从而得到广泛应用。 叁仟智…

在python中分别利用numpy,tensorflow,pytorch实现数据的增加维度(升维),减少维度(降维)

文章目录 前言一、使用numpy实现升维度&#xff0c;降维度二、使用TensorFlow实现升维度&#xff0c;降维度三、使用PyTorch实现升维度&#xff0c;降维度总结 前言 我们明确一下升维和降维的概念&#xff1a; 升维&#xff08;Dimensionality Augmentation&#xff09;&…

目标检测YOLO实战应用案例100讲-基于改进YOLOv5s的道路目标检测

目录 前言 国内外研究现状 传统目标检测方法 基于深度学习的目标检测方法

WebSocket --- ws模块源码解析(详解)

摘要 在这一篇文章中&#xff0c;写了如何在node端和web端&#xff0c;实现一个WebSocket通信。 WebSocket在node端和客户端的使用 而在node端里面&#xff0c;我们使用了ws模块来创建WebSocket和WebSocketServer&#xff0c;那ws模块是如何做到可以和客户端进行双向通信的呢…

前端本地存储数据库IndexedDB

前端本地存储数据库IndexedDB 1、前言2、什么是 indexedDB&#xff1f;3、什么是 localForage&#xff1f;4、localForage 的使用5、VUE 推荐使用 Pinia 管理 localForage 1、前言 前端本地化存储算是一个老生常谈的话题了&#xff0c;我们对于 cookies、Web Storage&#xff…

树莓派镜像安装 + 设置 + 镜像批量化操作 - 自动化烧写工具 (四)

简介 当需要大批量使用树莓派时, SD Card烧录过程中的重复和繁杂操作需要被工具给取代, AT Disk Imager这就出现了;软件介绍 实现监控读卡器&#xff0c;当SD Card接入读卡器时自动格式化、 烧写设定镜像、并自动软弹出设备;目前可设定参数: 1) 镜像文件&#xff0c; 烧录的镜…

[github配置] 远程访问仓库以及问题解决

作者&#xff1a;20岁爱吃必胜客&#xff08;坤制作人&#xff09;&#xff0c;近十年开发经验, 跨域学习者&#xff0c;目前于新西兰奥克兰大学攻读IT硕士学位。荣誉&#xff1a;阿里云博客专家认证、腾讯开发者社区优质创作者&#xff0c;在CTF省赛校赛多次取得好成绩。跨领域…

MATLAB算法实战应用案例精讲-【神经网络】Transformer

目录 前言 算法原理 编码器 自注意力机制 从宏观视角看自注意力机制

Vue3 源码解读系列(九)——依赖注入

依赖注入 依赖注入用于祖先组件向后代组件传递数据。 特点&#xff1a; 祖先组件不需要知道哪些后代组件在使用它提供的数据。 后代组件也不需要知道注入的数据来自哪里。 /*** provide 的实现*/ function provide(key, value) {let provides currentInstance.provides // 当…

【LSTM】北京pm2.5 天气预测--pytorch版本,有代码可以跑通-LSTM回归问题,工程落地一网打尽

文章目录 前言1. 知识理解1.1 核心理解1.2 原理1.2.1 图解LSTM1.2.1 分词1.2.1 英语的词表示1.2.2 中文的词表示1.2.3 构建词表 2. 工程代码2.1 数据预处理2.2 数据集&模型构建2.3 模型训练2.4 保持模型&加载模型&预测 前言 LSTM 少分析原理&#xff0c;更强调工程…

网络渗透测试(TCP/IP)理论篇

TCP/IP体系 垂直服务&#xff1a;底层为高层服务 TCP/IP体系结构是一个分层的协议体系&#xff0c;由多个层次组成&#xff0c;每个层次都负责不同的功能。以下是TCP/IP体系结构的主要层次&#xff1a; 物理层&#xff08;Physical Layer&#xff09;&#xff1a;该层负责传输…

Debian系列的Linux发行版上部署wvp

Debian系列的Linux发行版上部署wvp 环境搭建1.Debian系列的Linux发行版上安装nginx2.安装mysql设置mysql密码修改权限sudo mysql ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)配置相关navicat 连接不上 报错 10061navicat 连接报错 1130 -…

Python选择排序和冒泡排序算法

选择排序和冒泡排序都是常见的排序算法。以下是这两种算法的Python实现&#xff1a; 选择排序&#xff08;Selection Sort&#xff09; 选择排序的基本思想是在未排序的序列中找到最小&#xff08;或最大&#xff09;元素&#xff0c;存放到排序序列的起始位置&#xff0c;然…

grafana面板介绍

grafana 快速使用 背景 随着公司业务的不断发展&#xff0c;紧接来的是业务种类的增加、服务器数量的增长、网络环境的越发复杂以及发布更加频繁&#xff0c;从而不可避免地带来了线上事故的增多&#xff0c;因此需要对服务器到应用的全方位监控&#xff0c;提前预警&#xf…

MATLAB | 官方举办的动图绘制大赛 | 第二周赛情回顾

今天带来一下MATHWORKS官方举办的迷你黑客大赛第三期(MATLAB Flipbook Mini Hack)的最新进展&#xff01;&#xff01;目前比赛已经进行了两周非常荣幸能够成为第一周的阶段性获奖者&#xff1a; 本来并不打算每周进行一次赛况讲解&#xff0c;但是由于字符限制改成了2000&…

何时使用Elasticsearch而不是MySql?

何时使用Elasticsearch而不是MySql&#xff1f; MySQL 和 Elasticsearch 是两种不同的数据管理系统&#xff0c;它们各有优劣&#xff0c;适用于不同的场景。本文将从以下几个方面对它们进行比较和分析&#xff1a; 数据模型查询语言索引和搜索分布式和高可用性能和扩展性使用…

Linux系统编程 day02 vim、gcc、库的制作与使用

Linux系统编程 day02 vim、gcc、库的制作与使用 01. vim0101. 命令模式下的操作0102. 切换到文本输入模式0103. 末行模式下的操作0104. vim的配置文件 02. gcc03. 库的制作与使用0301. 静态库的制作与使用0302. 动态库(共享库)的制作与使用 01. vim vim是一个编辑器&#xff0…