文库 真题 NOC真题

2023年NOC大赛Python复赛小高组真题

NOC复赛真题 noc小高组真题 PDF   7页   下载0   2024-05-03   浏览138   收藏0   点赞0   评分-   免费文档
温馨提示:当前文档最多只能预览 2 页,若文档总页数超出了 2 页,请下载原文档以浏览全部内容。
2023年NOC大赛Python复赛小高组真题 第1页
2023年NOC大赛Python复赛小高组真题 第2页
剩余5页未读, 下载浏览全部
2023年 NO C复 赛-P yth o n 1. 计 算年终奖 时间限制:1s 内 存限制:128M B ( 注:in p ut()括 号中不允许添加任何提示语) 某公司的员 员 M>20, 则员 请补全下 (1) 程序运 (2) 根据规则计算并输出员 M = int (input ()) m = int (input ()) if M <= 10 : ______ ___________ m *= 5 ____ ______   print (m) # 输出员工年终奖金额 参考代码: M = int (input ()) m = int (input ()) if M <= 10 : m *= 3 elif M <= 20 : m *= 5 else : m *= 8 print (m) # 输出员工年终奖金额 2. 最 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 时间限制:1s 内 存限制:128M B ( 注:in p ut()括 号中不允许添加任何提示语) 欧 除余数的最 数就是最初两个数的最 例如: 48除 以18, 余数为12; 接 下来,18除 以12, 余数为6; 接 下来,12除 以6, 余数为0。 所 以,6就 是48和 18的 最 请补全下 (1) 程序运 (2) 使 a = int (input ()) b = int (input ()) def gcd (a, b ): if a < b: a, b = b, a while ______: r = _______ a = b b = r return _______ print (________) # 输出 a 和 b 的最大公约数 参考代码: a = int (input ()) b = int (input ()) def gcd (a, b ):     if a < b:         a, b = b, a     while a % b != 0:         r = a % b         a = b         b = r     return b print (gcd(a, b))  # 输出 a 和 b 的最大公约数 1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4 5 6 7 8 9 10 11 12 a = int (input ()) b = int (input ()) def gcd (a, b ): if a < b: a, b = b, a while b != 0: r = a % b a = b b = r return a print (gcd(a, b)) # 输出 a 和 b 的最大公约数 3 .最 少纸币数 时间限制:1s 内 存限制:128M B ( 注:in p ut()括 号中不允许添加任何提示语) 和1元 的纸币,每种纸币张数 请编写 输 输 输出描述: 第 第 输 38 输 出样例: 7 0 0 3 1 3 参 考代码: 1 2 3 4 5 6 7 8 9 10 11 12 s = int (input ()) 1 ls = [ 0, 0, 0, 0, 0] 2 ls[ 0] = s // 100 3 ls[ 1] = s % 100 // 50 4 ls[ 2] = s % 50 // 10 5 ls[ 3] = s % 10 // 5 6 4. 单 词变复数 时间限制:1s 内 存限制:128M B ( 注:in p ut()括 号中不允许添加任何提示语) 英语单词在变成复数形式时,有以下 (1) 常规情况下结尾直接加s; ( 2) 以s、 sh 、 ch 、 x结 尾的单词,加es; ( 3) 以辅 (注:英 请编写 输 输 输出描述: 输出这个单词按以上规则变成的复数形式 输 te a ch er 输 出样例: te a ch ers 参 考代码: lsw = input ().split() def plural (word ):     if word[- 1] in [ 's' , 'x' ] or word[- 2:] in [ 'sh' , 'ch' ]:         return word + 'es'     elif word[- 1] == 'y' and word[- 2] not in [ 'a' , 'e' , 'i' , 'o' , 'u' ]:         return word[:- 1] + 'ies'     else :         return word + 's' for w in lsw:     print (plural(w), end= ' ' ) 5 . 毕 业旅 时间限制:1s ls[ 4] = s % 5 7 print (sum (ls)) 8 for i in ls: 9 print (i, end = ' ' ) 10 11 1 2 3 4 5 6 7 8 9 10 内存限制:128M B ( 注:in p ut()括 号中不允许添加任何提示语) 中转城市。 , , ..., ( 1≤ ≤ 100) 表示,不同的城市可能拥有相同的 喜爱度。现在, (1≤ k≤ m ) 个编号连在 和最 请编写 输 第 数之间以空格隔开 第 ,正整数之间以空格隔开 输出描述: 输出   输 4 2 1 0 2 0 1 5 3 0 输 出样例: 45 参 考代码: m, k = [ int (i) for i in input ().split()] cities = [ int (i) for i in input ().split()] maxn = 0 for i in range (k, m + 1): sum_v = sum (cities[i - k: i]) maxn = max (maxn, sum_v) print (maxn) 6 . 报 数游戏 时间限制:1s 内 存限制:128M B ( 注:in p ut()括 号中不允许添加任何提示语) 有n( 6≤ n≤ 100) 个 从第 四个 往后说,直到最终剩下五个 例如:有六个 1 2 3 4 5 6 7 接下来再从1号 继续,1号 说N, 2号 说O, 此 时2号 已经是第 请编写 的座位编号。 输 输 输出描述: 由 输 6 输出样例: 1 3 4 5 6 参 考代码: n = int (input ()) idx = [i + 1 for i in range (n)] hp = [ 2] * n num = 0 p = - 1 while len (hp) > 5:     p += 1     p %= len (hp)     num += 1     if num % 3 == 2:         hp[p] -= 1         if hp[p] == 0:             hp.pop(p)             idx.pop(p)             p
2023年NOC复赛-Python小高组
下载提示

下载及版权说明:6547网文库内容来自网络及各平台公开内容(属于用户上传,不保证正确性,只做参考),旨在帮助同学们学习少儿编程相关知识及内容,仅限内部学习及使用,以分享为主,下载本文档之后请合法使用相关、真题、素材、课件、教程等内容,若内容存在侵权,请进行 举报 及查看 免责声明