1013 - NOIP 2013 普及组初赛试题

本文介绍了NOIP 2013普及组初赛的编程试题,涵盖了整型变量的字节数、二进制转换、算法理解、逻辑表达式、哈希表、数据结构、操作系统概念以及网络协议等计算机基础知识。通过这些题目,读者可以检验和提升自己的编程思维和计算机理论知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第 1 题

一个 32 位整型变量占用( )个字节。

  1.  A. 

    4

     B. 

    8

     C. 

    32

     D. 

    128


本题共 1.5 分

第 2 题

二进制数 11.01 在十进制下是( )。

  1.  A. 

    3.25

     B. 

    4.125

     C. 

    6.25

     D. 

    11.125


本题共 1.5 分

第 3 题

下面的故事与( )算法有着异曲同工之妙。 从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事....’

  1.  A. 

    枚举

     B. 

    递归

     C. 

    贪心

     D. 

    分治


本题共 1.5 分

第 4 题

逻辑表达式()的值与变量A 的真假无关。

  1.  A. 

    (A ∨ B) ∧﹃A

     B. 

    (A ∨ B) ∧﹃B

     C. 

    (A ∧ B) ∨ (﹃ A ∧ B)

     D. 

    (A ∨ B) ∧﹃A ∧ B


本题共 1.5 分

第 5 题

将(2, 6, 10, 17)分别存储到某个地址区间为0~10 的哈希表中,如果哈希函数h(x) = ( ),将不会产生冲突,其中a mod b 表示 a 除以 b 的余数。

  1.  A. 

    x \bmod 11xmod11

     B. 

    x^2 \bmod 11x2mod11

     C. 

    (2x) \bmod 11(2x)mod11

     D. 

    \lfloor \sqrt{x} \rfloor \bmod 11⌊x​⌋mod11,其中\lfloor \sqrt{x} \rfloor⌊x​⌋表示\sqrt{x}x​ 下取整


本题共 1.5 分

第 6 题

在十六进制表示法中,字母 A 相当于十进制中的( )。

  1.  A. 

    9

     B. 

    10

     C. 

    15

     D. 

    16


本题共 1.5 分

第 7 题

下图中所使用的数据结构是( )。

  1.  A. 

    哈希表

     B. 

     C. 

    队列

     D. 

    二叉树


本题共 1.5 分

第 8 题

在 Windows 资源管理器中,用鼠标右键单击一个文件时,会出现一个名为“复制”的操作选项,它的意思是( )。

  1.  A. 

    用剪切板中的文件替换该文件

     B. 

    在该文件所在文件夹中,将该文件克隆一份

     C. 

    将该文件复制到剪切板,并保留原文件

     D. 

    将该文件复制到剪切板,并删除原文件


本题共 1.5 分

第 9 题

已知一棵二叉树有10 个节点,则其中至多有( )个节点有 2 个子节点。

  1.  A. 

    4

NOIP 2018 普及组初赛第1028题的题解如下: 题目描述: 给定一个正整数N,要求编写一个程序,计算出它的阶乘N!。阶乘N!是所有小于或等于N的正整数的乘积,且0!定义为1。例如:5! = 5 × 4 × 3 × 2 × 1 = 120。 输入描述: 输入仅包含一个正整数N,其范围为1到20。 输出描述: 输出为计算得到的阶乘N!的值。 解题思路: 1. 使用一个数组来存储中间计算结果。 2. 从1开始,依次计算到N的所有整数的阶乘。 3. 每计算出一个数的阶乘,就将其乘到数组中,更新数组的值。 4. 最终数组存储的就是N!的结果。 注意点: - 由于N的范围为1到20,而20!的结果是一个非常大的数,普通的数据类型无法存储,因此需要使用数组来模拟大数运算。 - 在实现大数乘法时,需要注意进位的问题。 以下是一个简化的伪代码示例: ``` 输入:N 创建一个足够大的数组result用于存储结果 result[0] = 1 // 初始化结果为1 对于i从1到N: carry = 0 // 进位初始化为0 对于j从0到result的长度减1: temp = result[j] * i + carry result[j] = temp % 10 // 更新当前位的值 carry = temp / 10 // 计算新的进位 结束循环 如果carry0,则继续添加进位 结束循环 输出result数组(从后往前输出,以得到正确的顺序) ``` 实际编程时,需要注意数组的索引处理和进位处理,以及在输出时避免在前面输出必要的零。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值