文库 真题 NOC真题

2023年NOC大赛Python初中组决赛真题

noc真题 noc决赛真题 PDF   7页   下载0   2024-05-03   浏览201   收藏0   点赞0   评分-   免费文档
温馨提示:当前文档最多只能预览 2 页,若文档总页数超出了 2 页,请下载原文档以浏览全部内容。
2023年NOC大赛Python初中组决赛真题 第1页
2023年NOC大赛Python初中组决赛真题 第2页
剩余5页未读, 下载浏览全部
2023年 NO C初 中组 国赛真题 编程实现 : 输 入一个正整数,判断它的二进制形式是否是回文数,如果是输出 Tru e ,不是输出 Fals e 例 :数字 3 的二进制形式是 11 ,是一个回 文数,输出 Tru e 。 输 输 输出描述 判 断数字 n 的二进制形式是否是回文数,如果是输出 Tru e ,不是输出 Fals e 。 输 3 输出样例 Tru e 参 考代码 n = int (input ()) s = bin (n)[ 2:] print (s == s[::- 1]) 拍 卖 编程实现 : 为了分配 以下规则: 1、 起拍价必须 2、 谁先出价100谁 获得这件物品; 3、 加价为1到 5之 间的整数; 现在由你先出价,假设对 是否能获得这件物品,如果能获得,输出Tru e, 否则输出Fals e 。 例 :你 出价95, 那么对 管怎么加价,你都能直接加价到100, 直 接获得这件物品,输出Tru e。 输 输 ≤ n < 100) 。 输出描述 输出是否能获得这件物品,如果能获得,输出Tru e, 否则输出Fals e 。 输 1 2 3 94 输 出样例 Tru e 参 考代码 n = int (input ()) ls = [ False for i in range (100 )] num = 94 while num >= 1:     ls[num] = True     num -= 6 print (ls[n]) # 法 2 n = int (input ()) if ( 100 - n) % 6 == 0: print (True ) else : print (False ) 数 字谜题 编程实现 : 现在有 作,那么 例:数字串12123, 操作 输 输 ≤ n< 100000) ,只包含数字 1, 2, 3。 输 出描述 输出替换的操作次数。 输 12123 输 出样例 2 参考代码 s = input () cnt = 0 while '123' in s:     n = s.count( '123' )     s = s.replace( '123' , '321' )     cnt += n print (cnt) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4 5 6 7 # 优化之后通过全部评测点 # ls = list(input()) # cnt = 0 # i = 0 # while i <= len(ls) - 3: #     if ls[i:i+3] == ['1', '2', '3']: #         cnt += 1 #         ls[i:i+3] = ['3', '2', '1'] #         i -= 2 #         if i < 0: #             i = 0 #     else: #         i += 1 # print(cnt) 电 报加解密 编程实现 A国 和B国 正在陷 泄漏,A国 司令部向 加密的规则: - 电 报中的 回到第 - 电 报中的 回到最后 - 电 报中的数字,按数码从 替换为 2 、 9 替 换为 0 。 - 其 他字符不做变化。 解密的规则为加密规则的逆过程。 例如,字 Hm 07, 电报 H m 07 经 过解密之后为 g N 96。 现 在, 解密后**的 结果。 输 第 接下来 n 保 证字符串 s i 中 只包含 现:', '、 '. '、 ': '、 '! ' 和 '? ') 。 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 输出描述 共 n 输 3 fP PE M VD L P O Z P VS F Y B N ! aF M JF W F J O Z P VSTFM G! h X JT I U IF F Y B N B T V D DFT T! 输 出样例 Good lu ck o n y o ur e xa m ! Beli e ve in y o urs e lf ! I w is h t h e e xa m a s u cce ss! 参 考代码 n = int (input ()) ls = [] for i in range (n):     ls.append( input ()) for s in ls:     ans = ''     for ch in s:         if ch.islower():             ans += chr (( ord (ch) - ord ('a' ) + 1) % 26 + ord ('A' ))         elif ch.isupper():             ans += chr (( ord (ch) - ord ('A' ) + 25 ) % 26 + ord ('a' ))         elif ch.isdigit():             ans += chr (( ord (ch) - ord ('0' ) + 9) % 10 + ord ('0' ))         else :             ans += ch     print (ans) 办 事处选址 编程实现 : 现将某区域的地图变成 之和最短(只能上下左右 少? 例 如:共有两处居 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 第 处,到第 输 第 ≤ n≤ 10000) 。 第 居 <100, 0≤ 列 数 <100 ) ,中间 输出描述 输出最短距离之和。 输 2 0 0 0 1 输 出样例 1 参考代码 n = int (input ()) lsx = [] lsy = [] for i in range (0, n):     x, y = [ int (i) for i in input ().split()]     lsx.append(x)     lsy.append(y) lsx.sort() lsy.sort() midx = lsx[n// 2] midy = lsy[n// 2] 1 2 3 4 5 6 7 8 9 10 11 tot = 0 for i in range (0, n):     tot += abs (midx - lsx[i]) + abs (midy - lsy[i]) print (tot) 挑 选礼物 **编 程实现** 小猴家里有一片香蕉林,由于小猴的好朋友小美快要过生日了,小猴打算在一排共 n 棵香 蕉树中选择两颗香蕉树作为小美的生日礼物,为了显得不是那么随意,小猴认为选取的 两棵香蕉树的距离不能超过d ,但是方案太多了,小猴想要先知道一共有多少种选择的 方案。 已知一排香蕉树的位置坐标依次为 x1,x2,x3......xn ,请你帮助小猴计算一下选择两棵距离 不超过d 的香蕉树的方案有多少种。 注意:方案 xi 、 xj 和方案 xj 、 xi 认为是同一种方案。 **输 第一行,包含一个整数 n ( 1≤n≤5000 ) 。 第二行
2023年NOC初中组决赛Python真题,2023年NOC大赛Python初中组决赛真题
下载提示

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