华为OD机试真题 新系统 2026-08-16 C++【电池充电时间计算】

发布时间:2026/9/3 5:36:27
华为OD机试真题 新系统 2026-08-16 C++【电池充电时间计算】 目录题目思路Code题目题目内容:给定电池容量、充电器最大输出电流、当前电量百分比和目标电量百分比,按照分段充电曲线计算充到目标电量所需的小时数。电量低于 20% 时电流为最大电流的 20%;电量在 20% 到 80% 之间时使用最大电流;电量达到 80% 后,电流按 current(soc)=maxCurrent*(1-(soc-80)*0.045) 线性衰减。恒压阶段可使用起止电流的平均值计算时间。输入描述:输入一行四个整数 batteryCapacity,maxCurrent,initialSOC,targetSOC。容量范围 1000 到 10000 mAh,最大电流范围 500 到 10000 mA,0 = initialSOC = targetSOC = 100。输出描述:输出充电所需小时数,四舍五入保留一位小数。样例 1输入:3000,1500,0,100输出:3.9说明:预充、恒流和恒压阶段分别约耗时 2.0、1.2 和 0.73 小时,总计约 3.93 小时。思路