高考毕业晚会难题:从学生能力值求最大默契程度的Python解法
以下是解决此问题的Python代码: ```python # 读取输入 n = int(input()) abilities = list(map(int, input().split())) # 统计每个能力值的因数出现的次数 factor_count = {} for ability in abilities: for i in range(1, int(ability0.5) + 1): if ability % i == 0: if i in factor_count: factor_count[i] += 1 else: factor_count[i] = 1 if i != ability // i: if ability // i in factor_count: factor_count[ability // i] += 1 else: factor_count[ability // i] = 1 # 初始化结果列表 results = [0] * n # 遍历每个因数及其出现次数 for factor, count in factor_count.items(): for k in range(1, count + 1): results[k - 1] = max(results[k - 1], factor) # 输出结果 for result in results: print(result) ``` 代码解释 1. 读取输入:首先读取学生的数量`n`,然后读取每个学生的能力值并存储在列表`abilities`中。 2. 统计因数出现次数:对于每个能力值,找出它的所有因数,并统计每个因数出现的次数,存储在字典`factor_count`中。 3. 初始化结果列表:创建一个长度为`n`的列表`results`,用于存储每种情况下的最大默契程度。 4. 更新结果列表:遍历每个因数及其出现次数,对于每个因数,如果它出现的次数为`count`,则更新`results[0]`到`results[count - 1]`的值,取当前值和该因数的最大值。 5. 输出结果:遍历结果列表并输出每个值。 复杂度分析 - 时间复杂度:$O(n\sqrt{m})$,其中$n$是学生的数量,$m$是能力值的最大值。 - 空间复杂度:$O(m)$,主要用于存储因数出现次数的字典。 ######[AI问答 | 487点数解答 | 2026-01-24 13:10:18]
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)458
- 高考毕业晚会难题:从学生能力值求最大默契程度的Python解法(字节豆包 | 487点数解答 | 2026-01-24 13:10:18)40
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)414
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)405
- 苍溪县“静音”护航中高考,多部门联动营造安静备考环境(百度文心 | 240点数解答 | 2025-06-05 09:15:05)89
- 苍溪县多举措按下“静音键”,全方位护航2024中高考!(DeepSeek | 349点数解答 | 2025-06-05 09:19:10)98
- Java程序模拟教学选课:林老师开课,58 位学生选课男女比例大揭秘( | 2653点数解答 | 2024-04-02 11:00:16)468
- Java程序设计课程:模拟教学管理,统计58位选课学生男女比重( | 363点数解答 | 2024-04-05 18:31:39)472
- R语言实战:用配对样本t检验评估课程强化集训对学生成绩的提升效果(GPT | 630点数解答 | 2024-11-26 22:00:01)320
- Java调用Python接口中文乱码?设置UTF - 8编码一招解决!(讯飞星火 | 263点数解答 | 2024-06-06 17:07:59)389
- 解决Java调用Python接口中文乱码问题:设置UTF - 8编码全攻略(讯飞星火 | 160点数解答 | 2024-06-06 17:18:39)413
- Java调用Python接口中文乱码问题:字符编码统一解决方案(讯飞星火 | 344点数解答 | 2024-06-06 17:19:55)525