信息学奥赛初赛天天练-19-挑战程序阅读-探索因数、所有因数平和、质数的奥秘

PDF文档公众号回复关键字:20240604
在这里插入图片描述

1 2023 CSP-J 阅读程序3

阅读程序(程序输入不超过数组成字符串定义的范围:判断题正确填√,错误填×;除特殊说明外,判断题1.5分,选择题3分,共计40分)

源程序

#include <iostream>
#include <cmath>
using namespace std;int solve1(int n){return n*n;
}int solve2(int n){int sum=0;for(int i=1;i<=sqrt(n);i++){if(n%i==0){if(n/i==i){sum+=i*i;}else{sum+=i*i+(n/i)*(n/i);}}}return sum;
}int main(){int n;cin>>n;cout<<solve2(solve1(n))<<" "<<solve1((solve2(n)))<<endl;return 0;
}

假设输入的n是绝对值不超过1000的整数,完成下面的判断题和单选题。

判断题

27(2分)如果输入的n为正整数,solve2函数的作用是计算n所有的因子的平方和( )

28 (2分) 第13~14行的作用是避免n的平方根因子i(或n/i)进入第16行而被计算两次( )

29 (2分)如果输入的n为质数,solve2(n)的返回值为n^2+1( )

单选题

30 (4分)如果输入的n为质数p的平方,那么solve2(n)的返回值为( )

A p^2+p+1 B n^2+n+1 C n^2+1 D p^4+2p^2+1

31(3分)当输入为正整数时,第一项减去第二项的差值一定( )

A 大于0 B 大于等于0且不一定大于0 C 小于0 D 小于等于0且不一定小于0

32 (3分) 当输入为“5”时,输出为( )

A "651 625" B "650 729" C "651 676" D "652 625"

2 相关知识点

1) 因数

因数,也被称为约数,用于描述两个正整数之间的关系。如果一个整数a除以另一个非零整数b的商是整数,且没有余数,那么我们就说ba的因数。

例如

6的因数有:1、2、3、6

10的因数有:1、2、5、10

注意

任何正整数都有至少两个因数:1和它本身

0的因数在数论中通常不讨论,因为0除以任何非零数都是0,但这不是通常所说的“整除”

一个数的因数总是成对出现的(除了完全平方数,其平方根会出现两次,如4的因数是1,2,2,4)

2)质数

质数和合数是数学中对于自然数(不包括0和1)的两种重要分类

质数 (Prime Number)

一个大于1的自然数,除了1和它本身以外不再有其他因数的数称为质数

例如

2、3、5、7、11、13、17、19等都是质数

注意

质数只有两个正因数:1和它本身

合数

合数是指在大于1的整数中,除了能被1和本身整除外,还能被其他数(0除外)整除的数

4、6、8、9、10、12、14、15等都是合数

注意

合数至少有三个正因数,除1和本身以外还有至少一个正因数

3 思路分析

solve2代码逻辑

1 循环1~sqrt(n) ,对所有因数处理 (n%i==0)

2 n/i==i 时累加i 的平方(等同 n/i * i),这时只有一个因子,累加因子i的平方

3 n/i!=i 时累加i的平方和(n/i)的平方,此时累加2个因子的平方

4 综合上述1,2,3步骤,可以看出solve2函数的主要功能是累加一个数的所有因子的平方和

/*n=8时所以因子分别为 1  8  2  4sum=1*1 + 8 * 8 + 2 * 2 + 4 * 4=85
*/
int solve2(int n){int sum=0;for(int i=1;i<=sqrt(n);i++){if(n%i==0){if(n/i==i){sum+=i*i;}else{sum+=i*i+(n/i)*(n/i);}}}return sum;
}

假设输入的n是绝对值不超过1000的整数,完成下面的判断题和单选题。

判断题

27(2分)如果输入的n为正整数,solve2函数的作用是计算n所有的因子的平方和( )

答案 T

分析

根据对solve2函数的分析可以知,solve2函数的作用是计算n所有的因子的平方和

28 (2分) 第13~14行的作用是避免n的平方根因子i(或n/i)进入第16行而被计算两次( )

答案 T

分析

如果平方根因子是整数时,累加一次,如果去掉13-14行,程序执行逻辑会改变

//以n=4为例
//平方根2 改变前执行 sum+=2 * 2;
sum+=i*i; 
//平方根2 改变后执行 sum+=2 * 2 + (4/2)*(4/2) = 2 * 2 + 2 * 2
sum+=i*i+(n/i)*(n/i);
所以第16造成平方根因子被加2次

29 (2分)如果输入的n为质数,solve2(n)的返回值为n^2+1( )

答案 T

分析

由于质数只有2个因子,1和本身

所以所有因子平方和之和为1的平方+n的平方=n^2+1

单选题

30 (4分)如果输入的n为质数p的平方,那么solve2(n)的返回值为( )

A p^2+p+1 B n^2+n+1 C n^2+1 D p^4+2p^2+1

答案 B

分析

质数p的平方,有3个因子,1和p和p^2

所以所有因子平方和

1^2 + p^2 +( p^2 )^2

由于

n=p^2

整理上述2个式子得

1+n+n^2

所以选B

31(3分)当输入为正整数时,第一项减去第二项的差值一定( )

A 大于0 B 大于等于0且不一定大于0 C 小于0 D 小于等于0且不一定小于0

答案 D

分析

cout<<solve2(solve1(n))<<" "<<solve1((solve2(n)))<<endl;
//solve2(solve1(n)) 先计算solve1函数,再计算solve2函数,对n先平方再求n平方的因子平方和
//solve1(solve2(n)) 先计算solve2函数,再计算solve1函数,先计算n的因子平方和再平方
n=1时
solve1(1)=1
solve2(1)=1
所以solve2(solve1(1))=1
solve1(solve2(n))=1
第一项减去第二项的差值=0n=4时
solve1(4)=16
solve2(16)=1^2+16^2+2^2+8^2+4^2=341
solve2(solve1(4))=341solve2(4)=1^2 +4^2 + 2^2 = 21
solve1(21)=441   
solve1(solve2(4))=441
第一项减去第二项的差值341-441<0n=5时
solve1(5)=25
solve2(25)=1^2+25^2+5^2=651
solve2(solve1(5))=625solve2(5)=1^2 +5^2  = 26
solve1(26)=676
solve1(solve2(4))=676 
第一项减去第二项的差值625-676<0 
所以选D    

32 (3分) 当输入为“5”时,输出为( )

A "651 625" B "650 729" C "651 676" D "652 625"

答案 C

分析

n=5时
solve1(5)=25
solve2(25)=1^2+25^2+5^2=651
solve2(solve1(5))=625solve2(5)=1^2 +5^2  = 26
solve1(26)=676
solve1(solve2(4))=676 
所以选C

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

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

相关文章

C++中的静态变量与普通变量

在C中&#xff0c;变量的存储和生命周期可以根据其定义的位置和方式而有所不同。特别是&#xff0c;静态变量&#xff08;无论是静态局部变量还是静态全局变量&#xff09;与普通的全局变量和局部变量在行为和生命周期上有显著的区别。 局部变量 局部变量是在函数内部定义的变…

【微信支付】获取微信开发信息(全网最详细!!!)

前言 1、申请商户号 申请流程与资料 详细申请步骤 申请开通接入微信支付步骤 2、申请微信小程序 申请小程序步骤 查看小程序AppID 3、微信支付普通商户与AppID账号关联 4、获取开发中需要的密钥和证书 4.1、申请证书 4.2、下载证书工具 4.3、证书工具—填写商户信息…

如何进行团队协作

团队协作是项目管理中不可或缺的一部分&#xff0c;它涉及多个团队成员共同工作以达成共同的目标。以下是一些关于如何进行团队协作的建议&#xff1a; 1. 明确目标和角色 设定清晰的目标&#xff1a;确保所有团队成员都清楚了解项目的总体目标以及他们各自在其中的角色和职责…

关于微积分的几个问题回顾

1.定积分求解举例 定积分是微积分中的一个重要概念&#xff0c;用于求解连续函数在某一区间上的面积或体积等问题。下面我将给出一个定积分求解的举例。 假设我们要求解函数 f(x)x2 在区间 [0,1] 上的定积分&#xff0c;即求解 ∫01​x2dx 求解步骤 1. 找出被积函数 f(x) …

3D分割之SAGA训练流程解读

训练之前,会先提取2种特征, 一种是每张图片的image encoding, 它的size是(64,64),代表每个像素处的特征向量。这个向量用于特征匹配(选中的目标和每个像素的相似度)。 一种是SAM提取的所有mask(用于计算mask所在目标的特征向量)。 extract_features.py提取的是SAM模型…

计算机基础(1)——计算机的发展史

&#x1f497;计算机基础系列文章&#x1f497; &#x1f449;&#x1f340;计算机基础&#xff08;1&#xff09;——计算机的发展史&#x1f340;&#x1f449;&#x1f340;计算机基础&#xff08;2&#xff09;——冯诺依曼体系结构&#x1f340;&#x1f449;&#x1f34…

【计算机毕设】基于SpringBoot的个人理财系统设计与实现 - 源码免费(私信领取)

免费领取源码 &#xff5c; 项目完整可运行 &#xff5c; v&#xff1a;chengn7890 诚招源码校园代理&#xff01; 1. 研究目的 个人理财管理对于现代人来说越来越重要&#xff0c;随着金融产品和消费方式的多样化&#xff0c;人们需要一个方便、高效、安全的工具来管理和规划自…

C语言基础学习之链表与共同体

数组: 数据结构---操作时候的特点&#xff1a; 优势&#xff1a;随机访问(存取)方便 不足&#xff1a;插入数据删除数据不方便 链式数据结构--链表 struct stu sl; // s1struct stu s2; // s2struct stu s3; //s3 s1-->s2-->s3 特点: 优势:增力和删除数据方便劣势…

【光谱特征选择】竞争性自适应重加权算法CARS(含python代码)

目录 一、背景 二、代码实现 三、项目代码 一、背景 竞争性自适应重加权算法&#xff08;Competitive Adaptive Reweighted Sampling&#xff0c;CARS&#xff09;是一种用于选择高光谱数据中最具代表性波段的方法。CARS通过模拟“生物进化”过程&#xff0c;自适应地对光谱…

IP路由基础ospf

文章目录 IP路由基础路由表(RIB)和转发表(FIB) 动态路由协议动态路由协议&#xff1a; OSPFOSPF基础工作原理&#xff1a;OSPF网络类型简介DR和BDR的选举选举规则&#xff1a; OSPF单区域路由计算LSA报文信息LSA处理原则单区域OSPF只会产生两类LSA&#xff1a;Router LSA 报文详…

Swift 协议

协议 一、协议语法二、属性要求三、方法要求四、异变方法要求五、构造器要求1、协议构造器要求的类实现2.可失败构造器要求 六、协议作为类型七、委托八、在扩展里添加协议遵循九、有条件地遵循协议十、在扩展里声明采纳协议十一、使用合成实现来采纳协议十二、协议类型的集合十…

Docker桥接网络分析

前言 《虚拟局域网(VLAN)》一文中描述了虚拟网卡、虚拟网桥的作用&#xff0c;以及通过iptables实现了vlan联网&#xff0c;其实学习到这里自然就会联想到目前主流的容器技术&#xff1a;Docker&#xff0c;因此接下来打算研究一下Docker的桥接网络与此有何异同。 猜测 众所周知…

第十一届蓝桥杯C++青少年组中/高级组选拔赛2019年真题解析

一、单选题 第1题 一个C语言的源程序中&#xff0c;有关主函数的说法正确的是&#xff08; &#xff09;. A:可以有多个主函数 B:必须有一个主函数 C:必须有主函数和其他函数 D:可以没有主函数 答案&#xff1a; 第2题 在下面的条件语句中&#xff08;其中s1和s2代表C语言…

计算机基础(8)——音频数字化(模电与数电)

&#x1f497;计算机基础系列文章&#x1f497; &#x1f449;&#x1f340;计算机基础&#xff08;1&#xff09;——计算机的发展史&#x1f340;&#x1f449;&#x1f340;计算机基础&#xff08;2&#xff09;——冯诺依曼体系结构&#x1f340;&#x1f449;&#x1f34…

如何在GlobalMapper中加载高清卫星影像?

GlobalMapper在GIS行业几乎无人不知&#xff0c;无人不晓&#xff0c;但它可以直接加载卫星影像也许就不是每个人都知道的了。 这里就来分享一下如何在GlobalMapper中加载高清卫星影像&#xff0c;并可以在文末查看领取软件安装包和图源的方法。 如何加载高清图源 首先&…

45-1 waf绕过 - 文件上传绕过WAF方法

环境准备: 43-5 waf绕过 - 安全狗简介及安装-CSDN博客然后安装dvwa靶场:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客打开dvwa靶场,先将靶场的安全等级调低,然后切换到文件上传 一、符号变异 在PHP中,由于其弱类型特性,有时候仅有一…

4月份新出!外网爆火的大模型黑书!内行人都在学~

今天给大家推荐一本4月份才新出的大型语言模型&#xff08;LLM&#xff09;的权威教程《基于GPT-3、ChatGPT、GPT-4等Transformer架构的自然语言处理》&#xff01;Google工程总监Antonio Gulli作序&#xff0c;一堆大佬推荐&#xff01;这含金量不用多说&#xff0c;在这里给大…

Docker容器搭建ELK日志分析系统

Docker容器搭建ELK日志分析系统 文章目录 Docker容器搭建ELK日志分析系统资源列表基础环境一、创建容器网络二、创建容器挂载目录三、构建systemctl镜像三、构建Elasticsearch镜像3.1、构建Elasticsearch3.2、构建镜像3.3、启动容器3.4、进入容器3.5、查看节点信息 四、构建Log…

NLP基础——语言模型(动手学深度学习)

语言模型 联合概率 给定文本序列 x 1 , ⋯ , x t x_1,\cdots,x_t x1​,⋯,xt​&#xff0c;语言模型的目标是估计联合概率 P ( x 1 , ⋯ , x t ) P(x_1,\cdots,x_t) P(x1​,⋯,xt​). 这里的 x t x_t xt​ 可以认为是文本序列在时间步 t t t 处的观测或标签&#xff0c;而…

亚信安慧AntDB:卓越的拓展性和灵活性

在当今这个信息爆炸的时代&#xff0c;企业对数据处理的需求不断增长&#xff0c;传统的数据库系统往往难以应对海量数据的存储和处理挑战。然而&#xff0c;随着亚信安慧AntDB的出现&#xff0c;解决这一难题的曙光终于出现在眼前。AntDB不仅仅具备了高吞吐、高并发、高性能的…