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

【CSP初赛】程序阅读3

文章目录

    • 前置知识
    • 阅读程序
      • 判断
      • 选择
    • 答案解析
      • 判断
      • 选择
    • 总结

前置知识

埃氏筛素数、C++ 基础。

阅读程序

#include <bits/stdc++.h>
using namespace std;
int main(){int a1[51] = {0};int i,j,t,t2,n = 50;for(i = 2;i<=sqrt(n);i++){if(a1[i] == 0){t2 = n/i;for(j = 2;j<=t2;j++) a1[i*j] = 1;}}t = 0;for(i = 2;i<=n;i++){if(a1[i] == 0){cout <<" "<<i;t++;if(t%10 == 0) cout << endl;}}cout << endl;return 0;
}

判断

1) 若把 050505 行 n 改为 515151,程序可能发生运行时错误。()

2) 若去掉第 040404 行的 "={0}"\text{"=\{0\}"}"={0}",则程序运行结果不会改变。()

3) 这个程序输出了 161616 个数字。()

4) 输出的第 111111 个数为 313131。()

选择

5)程序的时间复杂度为( )

A O(1)\text{O}(1)O(1) B O(n)\text{O}(n)O(n) C O(nlog⁡n)\text{O}(n \log n)O(nlogn) D O(nlog⁡log⁡n)\text{O}(n \log \log n)O(nloglogn)

6)输出的第 141414 个数为( )

A.414141 B.424242 C.434343 D.444444

答案解析

首先分析程序:程序使用埃氏筛素数的方法筛出了 505050 以内的所有素数,同时以每行 101010 个的方法进行输出。

判断

1)对

因为 aaa 数组的大小为 515151,C++ 规定数组只能访问到 数组长度−1\text{数组长度}-1数组长度1 的下标位置,访问 a[51] 时会出现下标越界的情况。

2)错

int a[51]={0} 是一种初始化方法,因为在 main 函数中定义的所有变量(包括数组)内的初始值是不确定的={0} 表示把数组内的元素全部初始化为 000(此操作也可以用 memset 实现)。如果去掉的话会影响运行结果。

3)错

505050 以内的质数只有以下 151515 个:2,3,5,7,11,13,17,19,23,29,31,37,41,43,472, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 472,3,5,7,11,13,17,19,23,29,31,37,41,43,47

题目说输出了 161616 个数字,所以是错误的。

4)对

如上题打的表所示,第 111111 个质数就是 313131

选择

5)D

常识题,埃氏筛找出 nnn 以内的素数的时间复杂度为 O(nlog⁡log⁡n)\text{O}(n \log \log n)O(nloglogn)

普通筛质数的复杂度为 O(n)\text{O}(n)O(n),优化后可达 O(n)\text{O}(\sqrt n)O(n)

线性筛法找出前 nnn 个素数的的时间复杂度为 O(n)\text{O}(n)O(n)

6)C

根据第 444 题打的表,第 141414 个数是 434343,所以选 C。

总结

以上为【CSP初赛练习】程序阅读3 的习题解析,希望大家喜欢!

想要复制保存参见 Markdown 源代码。

http://www.xdnf.cn/news/18560.html

相关文章:

  • (一)算法(big O/)
  • 一种解决使用 PotPlayer 播放 Alist 的 Webdav 时提示 无法在 FTP/WebDAV/HTTP 上修改该文件夹 的方法
  • QT-Mysql-查询语句-查询是否有表-表列名-查询记录
  • 【AI基础:神经网络】16、神经网络的生理学根基:从人脑结构到AI架构,揭秘道法自然的智能密码
  • TensorFlow 深度学习 开发环境搭建
  • Java和数据库的关系
  • Ubuntu 的 apt-get 强制使用 IPv4 网络
  • How to Use Managed Identity with ACS?
  • XCVU13P-2FHGB2104E Xilinx(AMD)Virtex UltraScale+ FPGA
  • MySQL索引原理与优化全解析
  • 55.Redis搭建主从架构
  • ANSI终端色彩控制知识散播(II):封装的层次(Python)——不同的逻辑“一样”的预期
  • 【C初阶】自定义类型--结构体
  • Java:对象的浅拷贝与深拷贝
  • 探索 List 的奥秘:自己动手写一个 STL List✨
  • 基于JSqlParser的SQL语句分析与处理
  • 网址账号正确,密码错误返回的状态码是多少
  • Go语言数据结构与算法-基础数据结构
  • Compose笔记(四十七)--SnackbarHost
  • Axure:有个特别实用的功能
  • 什么是AI宠物
  • [2025CVPR-目标检测方向]PointSR:用于无人机视图物体检测的自正则化点监控
  • C++的struct里面可以放函数,讨论一下C++和C关于struct的使用区别
  • leetcode算法刷题的第十六天
  • 力扣热题之技巧
  • 雷卯针对香橙派Orange Pi 3G-IoT-B开发板防雷防静电方案
  • 云原生、容器及数据中心网络相关名词记录
  • 无人机光伏巡检误检率↓79%!陌讯多模态融合算法在组件缺陷检测的落地优化
  • 为什么存入数据库的中文会变成乱码
  • 浙江龙庭翔新型建筑材料有限公司全屋定制:畅享品质生活新境界!