课件编号19763022

2023年信息素养大赛智能算法挑战复赛初中组-聚炫编程(PDF版,含答案)

日期:2024-05-17 科目:信息技术 类型:初中学案 查看:30次 大小:432693Byte 来源:二一课件通
预览图 1/4
2023年,聚炫,答案,PDF,编程,信息
  • cover
智能算法挑战复赛初中组 (总共 4 道题) 1. 修复机器 的对话词库错误 【题 描述】 基于 智能技术的智能陪伴机器 的语 词库被 客的病毒感染了,感染 式是在单词中 变成了“heeello” 。空格 字符被替换为 度不固定的数字乱码,请修复它。 【输 格式】 输 字符串 (字符串中 空格) 。这 是被感染的字符串。 【输出格式】 输出 对应的正确字符串。 【样例输 】(测试数据不包含本样例) Good24565morrrning 【样例输出】 Good morning 答案解析: def fix_infected_string(s): fixed_str = '' prev_char = '' for char in s: if char.isdigit() or char.isspace(): continue if char == prev_char: continue fixed_str += char prev_char = char return fixed_str # 输 被感染的字符串 infected_string = input() # 修复字符串并输出结果 fixed_string = fix_infected_string(infected_string) print(fixed_string) 在这个示例中,我们定义了 个 fix_infected_string 函数来修复被感染的字符串。函 检查以下情况: 如果字符是数字或空格,则跳过该字符。 如果字符与前 个字符相同,则跳过该字符。这样可以找出被增加了两次的字 。 否则,将该字符添加到修复后的字符串中,并更新 prev_char 为当前字符。 然后,我们将输 的被感染的字符串传递给 fix_infected_string 函数进 修复,并打 请注意,以上示例代码是使 Python 编写的。如果您希望在其他编程语 中实现相同的功 2. 定制架 问题 【题 描述】 李莳花要做 个架 ,把她喜欢的摆件叠放起来,她的每个摆件的位置顺序是固 定的。这个 能超过这个宽度,每层架 的 度不 能低于最 的摆件的 度。假设,给出排列好的每个摆 要最少多 的架 。 【输 格式】 输 的第 有 2 个数字, 个是摆件的个数n,和架 的宽度 W。 以下摆件个数 n ,每 Hi。 【输出格式】 输出放置摆件架 的最低 度。 【样例输 】(测试数据不包含本样例) 5 5 2 1 1 2 1 3 2 3 2 2 【样例输出】 5 答案解析: def minimum_shelf_height(n, W, items): heights = [0] * (W + 1) # 记录每个宽度上摆放的最 度 for i in range(1, W + 1): max_height = 0 for j in range(n): if items[j][0] <= i: max_height = max(max_height, items[j][1] + heights[i - items[j] heights[i] = max_height return heights[W] # 输 摆件个数和架 宽度 n, W = map(int, input().split()) # 输 每个摆件的宽度和 度 items = [] for _ in range(n): item_width, item_height = map(int, input().split()) items.append((item_width, item_height)) # 计算最低架 度并输出结果 min_height = minimum_shelf_height(n, W, items) print(min_height) 在这个示例中,我们定义了 个 minimum_shelf_height 函数来计算放置摆件所需的最低架 度 个宽度上的最 度,并存储在 heights 列表中。 在主程序中,我们 先输 摆件的个数 n 和架 的宽度 W。然后,遍历输 每个摆件的宽度和 度,并 最后,我们调 minimum_shelf_height 函数计算最低架 度,并将结果打印出来作为输出。 请注意,以上示例代码是使 Python 编写的。如果您希望在其他编程语 中实现相同的功能,请根据 3. 输出多进制数 【题 描述】 输 个 于 20 的正整数n,要求按从 到 的顺序输出所有的 n 位 m 进制数, 每个数占 。 【输 格式】 输 个 于 20 的正整数n,和 个 于 10 的正整数m。 【输出格式】 按从 到 的顺序输出所有的 n 位 m 进制数,每个数占 。 【样例输 】(测试数据不包含本样例) 3 2 【样例输出】 000 001 010 011 100 101 110 111 答案解析: def print_base_numbers(n, m): max_value = pow(m, n) - 1 for i in range(max_value + 1): base_number = format(i, f'0{n}b') print(bas ... ...

~~ 您好,已阅读到文档的结尾了 ~~