充电总时间计算| 豆包MarsCode AI 刷题

133 阅读1分钟

问题描述:

小R有n部电脑,每部电脑的电池容量分别为ai。她可以使用两种不同的充电方式来给电脑充电:

1.普通充电:每单位时间为电脑充电x单位的电量。

2.闪充:每单位时间为电脑充电4x单位的电量。

现在,所有电脑的电量都为零。小R希望使用闪充给所有电脑充满电,计算她需要的总充电时间。请保留结果的小数点后两位。

测试样例:

样例一:输入:n = 4 ,x = 1 ,a = [2, 3, 4, 5] 输出:'3.50'

样例二:输入:n = 3 ,x = 2 ,a = [4, 6, 8] 输出:'2.25'

样例三:输入:n = 2 ,x = 1 ,a = [10, 5] 输出:'3.75'

题目难度:简单

解题语言:python

解题思路:首先明确每部电脑的电池容量为ai且对于每部电脑,使用闪充的充电速度是 4x。则因此,每部电脑充满电所需的时间为ai/(4x)。然后将所有电脑的充电时间求和,得到总充电时间。最后将总充电时间格式化为保留两位小数的字符串,格式化输出即可。

关键代码:

1.初始化总充电时间:total_time = 0.0

2.遍历每部电脑的电池容量:for battery in a:

3.计算每部电脑的充电时间并累加:total_time += battery / (4 * x)

4.格式化输出:return f"{total_time:.2f}"

最后答案:

def solution(n: int, x: int, a: list) -> str: total_time = 0.0 for battery in a: total_time += battery / (4 * x) return f"{total_time:.2f}" if name == 'main': print(solution(4, 1, [2, 3, 4, 5]) == '3.50') print(solution(3, 2, [4, 6, 8]) == '2.25') print(solution(2, 1, [10, 5]) == '3.75')