解题思路
本题的核心是对电池容量进行分段线性修正,再结合场景修正系数和基础损耗系数计算最终续航里程。
算法:分段计算 + 数学公式
核心思路:
- 向下取整:将输入的
capacity 向下取整得到整数容量 c。
题目内容
给定电动车的电池容量 capacity(kWh)、能耗效率 efficiency(kWh/100km)、驾驶场景(城市 / 高速 / 山路,int 类型,分别是 0/1/2),计算该车的有效续航里程(km)。
核心公式:理论续航里程 = (电池容量 * 容量能耗修正系数) / 能耗效率 * 100;(结果按四舍五入保留 4 位小数)
有效续航里程 = 理论续航里程 * 总体损耗系数 ,相关系数计算规则如下:
容量能耗修正数 Kp:不同容量下,能效效率不同,分段进行能效效率修正
- 零段:电池容量
capacity>=160kWh 时,kp0 = 1(无损耗)
- 一段:电池容量
160kWh>capacity>80kWh 时,kp1 = 0.98
- 二段:电池容量
capacity<=80kWh 时,kp2 = 0.95
总体损耗系数 kd:基础损耗系数为 kb (0.956) * 场景修正系数 kc(结果按四舍五入保留 4 位小数)
补充约束
1、电池容量范围:20≤capacity≤200 (非整数需向下取整);
2、标准能耗效率范围:5≤efficiency≤30;
3、驾驶场景仅支持:"city"(城市)0/场景修正系数 kc0=1、"highway"(高速)1/场景修正系数 kc1=0.92、"mountain"(山路)2/场景修正系数 kc2=0.85;
4、结果要求:有效续航里程需四舍五入为整数,输出里程 km。
输入描述
输入为一行,包含三个值:电池容量(可能含小数)、能耗效率(可能含小数)、驾驶场景(整数 0/1/2),以逗号分隔。
输出描述
输出一个整数,表示四舍五入后的有效续航里程(单位:km)。
样例1
输入
75.8,14.3,1
输出
438
说明
解题思路:
电池容量向下取整:75.8→75;能耗效率:14.3
- 零段:电池容量 capacity>=160kWh 时,kp0=1(无损耗),75 不在此段内,电池容量等效为 0∗1
- 一段:电池容量 160kWh>capacity>80kWh 时,kp1=0.98 75 不在此段内,电池容量等效为 0∗0.98
- 二段:电池容量 capacity<=80kWh 时,kp2=0.95 75 在此段内,电池容量等效为 75∗0.95
理论里程 =(0∗1+0∗0.98+75∗0.95)/14.3∗100=498.2517km(保留 4 位);
总体损耗系数计算:0.956(基础)∗0.92(高速)=0.8795(保留 4 位);
里程 =498.2517∗0.8795=438.2124126
四舍五入后的有效里程 =438
样例2
输入
135.1,12.3,2
输出
858
说明
解题思路:
电池容量向下取整:135.1→135;能耗效率:12.3
- 零段:电池容量 capacity>=160kWh 时,kp0=1(无损耗),135 不在此段内,电池容量等效为 0∗1
- 一段:电池容量 160kWh>capacity>80kWh 时,kp1=0.98 135 在此段内,电池容量等效为 (135−80)∗0.98
- 二段:电池容量 capacity<=80kWh 时,kp2=0.95 剩余的电池容量 80 在此段内,电池容量等效为 80∗0.95
理论里程 =(0∗1+(135−80)∗0.98+80∗0.95)/12.3∗100=1056.0976km(保留 4 位)
总体损耗系数:0.956(基础)∗0.85(山地)=0.8126(保留 4 位);
里程 =1056.0976∗0.8126=858.1840908
四舍五入后的有效里程 =858