Python喊7的次数重排

360影视 日韩动漫 2025-03-22 11:04 2

摘要:def restore_order(counts):N = len(counts)# 初始化每个人的喊“过”次数pass_counts = [0] * Ncurrent_number = 1index = 0# 模拟游戏过程while True:# 如果当前数

def restore_order(counts):N = len(counts)# 初始化每个人的喊“过”次数pass_counts = [0] * Ncurrent_number = 1index = 0# 模拟游戏过程while True:# 如果当前数字是7的倍数或包含7,则喊“过”if current_number % 7 == 0 or '7' in str(current_number):pass_counts[index] += 1# 检查是否达到最大数字Kif sum(pass_counts) == sum(counts):break# 移动到下一个人index = (index + 1) % Ncurrent_number += 1# 返回正确的顺序return pass_counts# 读取输入counts = list(map(int, input.strip.split))# 计算并输出结果print(' '.join(map(str, restore_order(counts))))输入处理

读取输入的喊“过”的次数,存储在 counts 列表中。

初始化

初始化一个长度为 N 的列表 pass_counts,用于存储每个人喊“过”的次数。

模拟游戏过程

从数字1开始,依次检查每个数字是否是7的倍数或包含7。

如果是,则当前人喊“过”,并增加其喊“过”的次数。

检查是否达到总喊“过”的次数,如果达到则结束模拟。

移动到下一个人,继续模拟。

输出正确的喊“过”的次数顺序。

来源:执争朝夕

相关推荐