首页 > 其他分享 >诸暨市 2023 年青少年信息学竞赛(笔试小学组)

诸暨市 2023 年青少年信息学竞赛(笔试小学组)

时间:2023-04-26 22:33:16浏览次数:34  
标签:诸暨市 信息学 int qquad 2023 程序 text Theta quad

\[\large\text{诸暨市 2023 年青少年信息学竞赛(笔试小学组)} \]

\[\text{(语言:}\texttt{C++};\text{时间:}120\ \text{分钟;满分:}100\ \text{分}) \]

一、单项选择题(共 \(15\) 题,每题 \(2\) 分,共计 \(30\) 分。每题有且仅有一个正确选项。)

\(1.\) 在下列设备中,()属于输入设备。

\(\qquad A. \text{显示器} \qquad B. \text{键盘} \qquad C. \text{打印机} \qquad D. \text{音箱}\)

\(2.\) 二进制数 \((00111001)_2\) 和 \((01010110)_2\) 的和为()。

\(\qquad A.(10011111)_2\qquad \qquad \qquad B.(10001101)_2\)

\(\qquad C.(10001111)_2 \qquad \qquad \qquad D.(10000111)_2\)

\(3.\) 有一个栈 \(S\) 的进栈序列为 \(1, 2, 3\),则出栈序列的方案数为()。

\(\qquad A. 3\qquad \qquad B. 5\qquad \qquad C.7 \qquad \qquad D.9\)

\(4.\) 如下代码的时间复杂度为:

int num = 0;
for (int i = 2; i <= n; ++i) {
	bool Z = true;
	for (int j = 1; j * j <= i; ++j) {
		if (i % j == 0) {
			Z = false; break;
		}
	}
	num += Z;
}

\(\qquad A. \Theta(n) \qquad \quad B. \Theta(n \log n) \qquad \quad C. \Theta(n \sqrt n) \qquad \quad D. \Theta(n ^ 2)\)

\(5.\) 将 \(n\) 个小球装入 \(m\) 个盒子中,每个小球相同,每个盒子不同,且一个盒子中可以没有小球,有()种方案。

\(\qquad A. \dbinom{n}{m} \qquad B. \dbinom{n - 1}{m - 1} \qquad C. \dbinom{n + m - 1}{m - 1} \qquad D. m ^ n\)

\(6.\) 已知 \(A = B = \text{false}, C = \text{true}\),则以下表达式结果为真的是()。

\(\qquad A. (A \lor B) \land C \qquad \qquad B. (A \lor C) \land (\lnot B \land A)\)

\(\qquad C. \lnot C \lor \lnot A \land \lnot B \quad \qquad D. A \lor (B \lor \lnot C)\)

\(7.\) 如下代码的时间复杂度为(已知 \(x, y\) 均为 \(n\) 级别):

int gcd(int x, int y) {
	return y ? gcd(y, x % y) : x;
}

\(\qquad A. \Theta(n) \qquad B. \Theta(\sqrt n) \qquad C. \Theta(\log n) \qquad D. \Theta(n \log n)\)

\(8.\) 已知有一棵满二叉树,从第一层开始,每一层都从左往右,依次给节点编号,则第 \(i\) 层从左往右数第 \(j\) 个节点的编号为()。

\(\qquad A. 2 ^ {i - 1} + j - 1 \qquad B. 2 ^ i + j - 1 \qquad C. 2 ^ {i - 1} + j \qquad D. 2 ^ i + j\)

\(9.\) \(d + (a + b) \times c\) 的后缀表达式为()。

\(\qquad A. ++\times\ b\ c\ a\ d \qquad B. \times\ c + +\ a\ b\ d\)

\(\qquad C. ++\times\ a\ c\ b\ d \qquad D. +\ d\times +\ a\ b\ c\)

\(10.\) 下列储存器中,存取速度最快的是()。

\(\qquad A.\text{硬盘}\qquad B.\text{软盘}\qquad C.\text{光盘}\qquad D.\text{内存}\)

\(11.\) 如下程序运行时错误的原因为()。

#include <bits/stdc++.h>
using namespace std;
int a[10];
int main() {
	for (int i = 1; i <= 10; ++i) {
		cin >> a[i];
	}
	int S = 0;
	for (int i = 1; i <= 10; ++i) {
		S += a[i];
	}
	cout << S << '\n';
	return 0;
}

\(\qquad A. \text{死循环} \qquad B.\text{数组越界} \qquad C.\text{S 变量的值超出了 int 范围} \qquad D.\text{未知错误}\)

\(12.\) 如下程序的中 \(C\) 的值为()。

int A = 3, B = 2, C = ceil(A / B);

\(\qquad A. 0 \qquad \qquad B. 1 \qquad \qquad C. 2 \qquad \qquad D. 3\)

\(13.\) 长度为 \(n\),每个元素在 \(1 \sim m\) 之间,且相邻两个元素不能相同的数列的数量为()。

\(\qquad A. m ^ n \qquad \quad B. m \times (m - 1) ^ n \qquad \quad C. \dbinom{n + m - 1}{m - 1} \qquad \quad D. n ^ m\)

\(14.\) 字符串 \(\texttt{ababc}\) 中本质不同非空子串数量为()。

\(\qquad A.15 \qquad\qquad B.13 \qquad\qquad C.12 \qquad\qquad D.10\)

\(15.\) \(12345\) 的所有因数的和为()。

\(\qquad A.19776 \quad\qquad B.19777 \quad\qquad C.19778 \quad\qquad D.19780\)


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

\(1.\)

#include <bits/stdc++.h>
using namespace std;
int n, a[1005];
int main() {
	ios :: sync_with_stdio(0), cin.tie(0);
	cin >> n;
	for (int i = 1; i <= n; ++i) {
		cin >> a[i];
	}
	for (int i = 1; i < n; ++i) {
		for (int j = i + 1; j <= n; ++j) {
			if (a[i] > a[j]) swap(a[i], a[j]);
		}
	}
	for (int i = 1; i <= n; ++i) {
		cout << a[i] << " \n" [ i == n ];
	}
	return 0;
}
  • 判断题
  1. 程序的时间复杂度为 \(\Theta(n ^ 2)\)。()

  2. 如果输入的 \(n\) 在 \(1005\) 以内,程序就不会出现运行错误。()

  3. 程序的作用是将一个无序的数组排序。()

  4. a[i] > a[j] 改成 a[i] >= a[j],输出结果不变。()

  • 选择题
  1. 若输入为 5 4 3 5 2 1,则输出为()。

\(\qquad A.\)1 4 2 3 5 \(\quad B.\)1 2 4 3 5\(\quad C.\)1 2 3 4 5 \(\quad D.\)5 4 3 2 1

  1. 若输入为 9 8 4 6 5 9 7 3 1 2,则程序中 swap 函数执行的次数为()。

\(\qquad A. 25 \qquad \qquad B. 26 \qquad\qquad C. 27 \qquad\qquad D. 28\)


\(2.\)

#include <bits/stdc++.h>
using namespace std;
int n, a[100005];
int gcd(int x, int y) {
	return y ? gcd(y, x % y) : x;
}
int main() {
	ios :: sync_with_stdio(0), cin.tie(0);
	cin >> n;
	int ans = 0;
	for (int i = 1; i <= n; ++i) {
		cin >> a[i];
		ans = gcd(ans, a[i]);
	}
	cout << ans << '\n';
	return 0;
}

保证输入的 \(a_i\) 的值域为 \(w\) 级别。

  • 判断题
  1. 程序求的是 \(n\) 个数的最大公约数。()

  2. 若存在 \(\gcd(a_i, a_j) = 1, 1 \le i, j \le n\),则程序输出为 \(1\)。()

  3. 输入的 \(n\) 可以为 \(100005\)。()

  • 选择题
  1. 程序的时间复杂度为()。

\(\qquad A. \Theta(n \log w) \qquad B. \Theta(n + \log w) \qquad C. \Theta(n) \qquad D. \Theta(n + w)\)

  1. 若程序输入 5 6 18 24 9 3,输出为()。

\(\qquad A. 2 \qquad \qquad B. 3 \qquad \qquad C. 4 \qquad \qquad D. 5\)

  1. \(4\) 分)若程序输出 \(3\),且 \(n = 5\),保证每个 \(1 \le a_i \le 18\),则这样的输入有()种。

\(\qquad A. 7501 \qquad \qquad B. 7502 \qquad \qquad C. 7503 \qquad \qquad D. 7504\)


\(3.\)

#include <bits/stdc++.h>
using namespace std;
int n, A[ 1 << 15 ], B[ 1 << 15 ], C[ 1 << 15 ];
int main() {
	ios :: sync_with_stdio(0), cin.tie(0);
	cin >> n;
	for (int i = 0; i < 1 << n; ++i) {
		cin >> A[i];
	}
	for (int i = 0; i < 1 << n; ++i) {
		cin >> B[i];
	}
	for (int i = 0; i < 1 << n; ++i) {
		C[i] += A[0] * B[i];
		for (int j = i; j; j = (j - 1) & 1) {
			C[i] += A[j] * B[ i ^ j ];
		}
	}
	for (int i = 0; i < 1 << n; ++i) {
		cout << C[i] << " \n" [ i == (1 << n) - 1 ];
	}
	return 0;
}
  • 判断题
  1. \(n\) 可以等于 \(15\)。()

  2. 若将循环中的 i < 1 << n 改为 i < (1 << n),程序的运算结果会发生改变。()

  3. 若保证 \(n \ge 0\),程序依然可能会死循环。()

  • 选择题
  1. 若输入为 2 5 9 4 6 8 1 3 7,则输出为()。

\(\qquad A.\)40 76 110 83 \(\qquad B.\)40 77 110 83

\(\qquad C.\)40 77 110 82 \(\qquad D.\)40 77 111 83

  1. 程序的时间复杂度为()。

\(\qquad A. \Theta(2 ^ n) \qquad \quad B. \Theta(3 ^ n) \qquad \quad C. \Theta(n \cdot 2 ^ n) \qquad \quad D. \Theta(n \cdot 3 ^ n)\)

  1. 若保证 \(0 \le A_i, B_i \le w\),则输出中 \(C_i\) 可能的最大值为()。

\(\qquad A. 2 ^ n \cdot w \qquad \quad B. 3 ^ n \cdot w \qquad \quad C. w ^ 2 \qquad \quad D. 2 ^ n \cdot w ^ 2\)


三.完善程序(单选题,每小题 \(3\) 分,共计 \(30\) 分)

标签:诸暨市,信息学,int,qquad,2023,程序,text,Theta,quad
From: https://www.cnblogs.com/FidoPuppy/p/17357602.html

相关文章

  • 原点安全携“一体化数据安全平台uDSP”亮相2023中国国际金融展
    4月25日,2023中国国际金融展在北京首钢会展中心如期盛大开幕。作为我国金融业最大的全国性展览平台,本次展览以“荟萃金融科技成果,展现数字金融力量,谱写金融服务中国式现代化新篇章”为主题,全面展示金融业为完善科技创新体系、加快实现高水平科技自立自强、持续提升金融服务水平、助......
  • 2023程序设计竞赛冲刺③(2019青岛市程序设计竞赛小学组)
    1.取余原题: 解题思路:这道题30%的数据可以开longlong去存储计算,但100%的数据最多有3000位,无法存储,所以可以运用同余的性质,(a*b)%p=(a%p*b%p)%pAC代码:#include<bits/stdc++.h>#definelllonglongusingnamespacestd;constintN=1e3+5,MOD=1e4+7;;lla[N],n,ans......
  • 2023.4.26每日总结
    privateinttea_GetNextId(Stringfaculty_id)throwsException{intfid=Integer.valueOf(faculty_id);intMinId=fid*1000,MaxId=(fid+1)*1000;Stringsql="selecttea_idfromteacherwheretea_idbetween?and?";......
  • 每日总结2023-04-26
    今天对dialog做出了改进packagecom.example.math.utils;importandroid.annotation.SuppressLint;importandroid.app.Dialog;importandroid.content.Context;importandroid.content.Intent;importandroid.os.Bundle;importandroid.view.Gravity;importandroid.vi......
  • 2023.4.26编程一小时打卡
    一、问题描述:有一元二次方程ax2+bx+c=0,其一般解为x1,2=(-b±b2-4ac)/2a,但若a=0或b2-4ac<0时,用此公式出错。编程序,从键盘输入a,b,c的值,求x1和x2。如果a=0或b2-4ac<0,输出出错信息。二、解题思路:首先,将定义a,b,c为浮点数,然后输入a,b,c,去判断二次项系数的大小是否符合,再去判断b*2......
  • 2023.4.26——软件工程日报
    所花时间(包括上课):4h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习并开会。我了解到的知识点:1.了解了一些数据库的知识;2.了解了一些python的知识;3.了解了一些英语知识;5.了解了一些Javaweb的知识;4.了解了一些数学建模的知识;6.了解了一些计算机网络的知识;......
  • 2023/4/26
    L1-005考试座位号分数 15全屏浏览题目作者 陈越单位 浙江大学每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生......
  • 大华面试java 2023.5
    一张表随着业务递增,如何对一个字段进行快速查询。比如对身高字段查询,要求查询是10的倍数的。考虑分库分表,或者提前计算设置标志位加索引OOM的场景有哪些,分别是什么情况下会出现这样的问题项目中的复杂设计开发流程springcloud动态更新class的原理,类加载机制,java中类加载......
  • 2023年4月26日周三
    计划完成毕设的修改学习angular框架知道接口怎么回事,尝试或明白一个接口怎么写执行09点43分  看完翻译,开始修改论文15点00分  增加了两个数据库表详情,完成了小芳的要求15点00分  看文档约束再改排版16点01分  改完17点04分  看看angular框架记录问题想......
  • 速速报名| 米尔将精彩亮相2023 STM32中国峰会暨粉丝狂欢节
    STM32峰会已成功举办五届,第六届将于今年5月12日-13日在深圳重磅回归!往年,米尔电子都作为官方合作伙伴,出席演讲并展出公司配套的核心板和开发板。今年,STM32峰会更是集齐了值得你「点赞、收藏、转发」的一键三连精彩内容,围绕智能工业与高性能MCU/MPU、连接、生态系统与开发者社区、......