8.2华为OD机试真题 新系统 - 计算电动车续航里程 (Java/Py/C/C++/Js/Go)
计算电动车续航里程2026 华为OD机试真题 8月2日华为OD上机新系统考试真题 100 分题型点击查看华为 OD 机试真题完整目录2026最新华为OD机试新系统卷 双机位C卷 真题题库目录全覆盖题库 逐点算法考点详解题目描述给定电动车的电池容量capacitykWh、能耗效率efficiencykWh/100km、驾驶场景城市 / 高速 / 山路int类型分别是0/1/2计算该车的有效续航里程km。核心公式理论续航里程 (电池容量 * 容量能耗修正系数) / 能耗效率 *100结果按四舍五入保留4位小数有效续航里程 理论续航里程 * 总体损耗系数 相关系数计算规则如下容量能耗修正数 Kp不同容量下能效效率不同分段进行能效效率修正零段电池容量capacity160kWh时kp0 1(无损耗)一段电池容量160kWhcapacity80kWh时kp1 0.98二段电池容量capacity80kWh时kp2 0.95总体损耗系数 kd基础损耗系数为kb (0.956)* 场景修正系数kc结果按四舍五入保留4位小数补充约束电池容量范围20≤capacity≤200 非整数需向下取整标准能耗效率范围5≤efficiency≤30驾驶场景仅支持“city”城市0/场景修正系数 kc01、“highway”高速1/场景修正系数 kc10.92、“mountain”山路2/场景修正系数 kc20.85结果要求有效续航里程需四舍五入为整数输出里程km。输入描述输入为一行包含三个值电池容量可能含小数、能耗效率可能含小数、驾驶场景整数0/1/2以逗号分隔。输出描述输出一个整数表示四舍五入后的有效续航里程单位km。示例1输入75.8,14.3,1输出438说明电池容量向下取整75.8→75能耗效率14.3零段电池容量 capacity160kWh 时kp01无损耗75 不在此段内电池容量等效为 0∗1一段电池容量 160kWhcapacity80kWh 时kp10.98 75 不在此段内电池容量等效为 0∗0.98二段电池容量 capacity80kWh 时kp20.95 75 在此段内电池容量等效为 75∗0.95理论里程 (0∗10∗0.9875∗0.95)/14.3∗100498.2517km(保留 4 位)总体损耗系数计算0.956基础∗0.92高速0.8795(保留 4 位)里程 498.2517∗0.8795438.2124126四舍五入后的有效里程 438示例2输入135.1,12.3,2输出858说明电池容量向下取整135.1→135能耗效率12.3零段电池容量 capacity160kWh 时kp01无损耗135 不在此段内电池容量等效为 0∗1一段电池容量 160kWhcapacity80kWh 时kp10.98 135 在此段内电池容量等效为 (135−80)∗0.98二段电池容量 capacity80kWh 时kp20.95 剩余的电池容量 80 在此段内电池容量等效为 80∗0.95理论里程 (0∗1(135−80)∗0.9880∗0.95)/12.3∗1001056.0976km(保留 4 位)总体损耗系数0.956基础∗0.85山地0.8126(保留 4 位)里程 1056.0976∗0.8126858.1840908四舍五入后的有效里程 858解题思路核心思想题目给出了明确公式关键是按容量分段计算等效电池容量并在指定位置进行四舍五入。电池容量需要先向下取整。取整后的容量最多分成三段前80kWh按0.95折算80~160kWh部分按0.98折算超过160kWh的部分按1.0折算。得到等效容量后计算理论续航再乘以总体损耗系数最后四舍五入为整数。算法步骤按示例格式读取一行输入用英文逗号切分出capacity、efficiency、scene。将capacity向下取整为整数c。按容量分段计算等效容量c 80c * 0.9580 c 16080 * 0.95 (c - 80) * 0.98c 16080 * 0.95 80 * 0.98 (c - 160) * 1.0计算理论续航equivalentCapacity / efficiency * 100四舍五入保留 4 位小数。根据scene选择场景系数kc计算kd 0.956 * kc四舍五入保留 4 位小数。输出theoreticalRange * kd四舍五入后的整数。正确性说明算法先对容量向下取整符合题目对非整数容量的要求。随后按照三个容量区间分别累加等效容量覆盖了所有可能的容量范围且每一段的修正系数与题目一致。理论续航和总体损耗系数都在题目要求的位置保留 4 位小数最后再对有效续航进行整数四舍五入。因此算法输出与题目公式完全一致。复杂度分析本题只进行常数次计算。时间复杂度O(1)。空间复杂度O(1)。Javaimportjava.util.Scanner;publicclassMain{staticdoubleround4(doublevalue){returnMath.floor(value*10000.00.5)/10000.0;}staticintsolve(doublecapacity,doubleefficiency,intscene){// 电池容量先向下取整再按三个容量区间累加等效容量intc(int)Math.floor(capacity);doubleequivalentCapacity;if(c160){equivalentCapacity(c-160)80*0.9880*0.95;}elseif(c80){equivalentCapacity(c-80)*0.9880*0.95;}else{equivalentCapacityc*0.95;}// 理论续航和总体损耗系数都按题目要求保留 4 位小数doubletheoreticalRangeround4(equivalentCapacity/efficiency*100.0);double[]sceneFactors{1.0,0.92,0.85};doublekdround4(0.956*sceneFactors[scene]);// 有效续航最终四舍五入为整数return(int)Math.floor(theoreticalRange*kd0.5);}publicstaticvoidmain(String[]args){ScannerscannernewScanner(System.in);Stringlinescanner.hasNextLine()?scanner.nextLine().trim():;String[]partsline.split(,);doublecapacityDouble.parseDouble(parts[0].trim());doubleefficiencyDouble.parseDouble(parts[1].trim());intsceneInteger.parseInt(parts[2].trim());System.out.println(solve(capacity,efficiency,scene));}}Pythonimportmathdefround4(value):returnmath.floor(value*100000.5)/10000defsolve(capacity,efficiency,scene):# 电池容量先向下取整再分段计算等效容量cmath.floor(capacity)ifc160:equivalent_capacity(c-160)80*0.9880*0.95elifc80:equivalent_capacity(c-80)*0.9880*0.95else:equivalent_capacityc*0.95# 理论续航和损耗系数都需要保留 4 位小数theoretical_rangeround4(equivalent_capacity/efficiency*100.0)scene_factors[1.0,0.92,0.85]kdround4(0.956*scene_factors[scene])# 最终有效续航四舍五入为整数returnmath.floor(theoretical_range*kd0.5)lineinput().strip()capacity_str,efficiency_str,scene_strline.split(,)print(solve(float(capacity_str),float(efficiency_str),int(scene_str)))JavaScriptconstreadlinerequire(readline);functionround4(value){returnMath.floor(value*100000.5)/10000;}functionsolve(capacity,efficiency,scene){// 电池容量向下取整后根据区间累加等效容量constcMath.floor(capacity);letequivalentCapacity;if(c160){equivalentCapacity(c-160)80*0.9880*0.95;}elseif(c80){equivalentCapacity(c-80)*0.9880*0.95;}else{equivalentCapacityc*0.95;}// 理论续航和总体损耗系数按题目保留 4 位小数consttheoreticalRangeround4(equivalentCapacity/efficiency*100.0);constsceneFactors[1.0,0.92,0.85];constkdround4(0.956*sceneFactors[scene]);// 有效续航最终四舍五入为整数returnMath.floor(theoreticalRange*kd0.5);}constrlreadline.createInterface({input:process.stdin,output:process.stdout,terminal:false});letline;rl.on(line,(input){lineinput.trim();});rl.on(close,(){constpartsline.split(,);console.log(solve(Number(parts[0]),Number(parts[1]),Number(parts[2])));});C#includecmath#includeiostream#includesstream#includestring#includevectorusingnamespacestd;doubleround4(doublevalue){returnfloor(value*10000.00.5)/10000.0;}intsolve(doublecapacity,doubleefficiency,intscene){// 容量向下取整然后按分段系数计算等效容量intc(int)floor(capacity);doubleequivalentCapacity;if(c160){equivalentCapacity(c-160)80*0.9880*0.95;}elseif(c80){equivalentCapacity(c-80)*0.9880*0.95;}else{equivalentCapacityc*0.95;}// 理论续航和总体损耗系数按要求保留 4 位小数doubletheoreticalRangeround4(equivalentCapacity/efficiency*100.0);doublesceneFactors[3]{1.0,0.92,0.85};doublekdround4(0.956*sceneFactors[scene]);// 最终里程四舍五入为整数return(int)floor(theoreticalRange*kd0.5);}intmain(){string line;getline(cin,line);stringstreamss(line);string item;vectorstringparts;while(getline(ss,item,,)){parts.push_back(item);}coutsolve(stod(parts[0]),stod(parts[1]),stoi(parts[2]))endl;return0;}Gopackagemainimport(bufiofmtmathosstrconvstrings)funcround4(valuefloat64)float64{returnmath.Floor(value*100000.5)/10000}funcsolve(capacityfloat64,efficiencyfloat64,sceneint)int{// 容量向下取整后按容量区间计算等效容量c:int(math.Floor(capacity))equivalentCapacity:0.0ifc160{equivalentCapacityfloat64(c-160)80*0.9880*0.95}elseifc80{equivalentCapacityfloat64(c-80)*0.9880*0.95}else{equivalentCapacityfloat64(c)*0.95}// 理论续航和总体损耗系数都保留 4 位小数theoreticalRange:round4(equivalentCapacity/efficiency*100.0)sceneFactors:[]float64{1.0,0.92,0.85}kd:round4(0.956*sceneFactors[scene])// 有效续航四舍五入为整数returnint(math.Floor(theoreticalRange*kd0.5))}funcmain(){scanner:bufio.NewScanner(os.Stdin)line:ifscanner.Scan(){linestrings.TrimSpace(scanner.Text())}parts:strings.Split(line,,)capacity,_:strconv.ParseFloat(strings.TrimSpace(parts[0]),64)efficiency,_:strconv.ParseFloat(strings.TrimSpace(parts[1]),64)scene,_:strconv.Atoi(strings.TrimSpace(parts[2]))fmt.Println(solve(capacity,efficiency,scene))}C语言#includemath.h#includestdio.h#includestdlib.h#includestring.hdoubleround4(doublevalue){returnfloor(value*10000.00.5)/10000.0;}intsolve(doublecapacity,doubleefficiency,intscene){// 容量向下取整然后按三段容量系数累加等效容量intc(int)floor(capacity);doubleequivalentCapacity;if(c160){equivalentCapacity(c-160)80*0.9880*0.95;}elseif(c80){equivalentCapacity(c-80)*0.9880*0.95;}else{equivalentCapacityc*0.95;}// 理论续航和总体损耗系数按题目保留 4 位小数doubletheoreticalRangeround4(equivalentCapacity/efficiency*100.0);doublesceneFactors[3]{1.0,0.92,0.85};doublekdround4(0.956*sceneFactors[scene]);// 最终结果四舍五入为整数return(int)floor(theoreticalRange*kd0.5);}intmain(){charline[200];if(fgets(line,sizeof(line),stdin)NULL){return0;}char*capacityStrstrtok(line,,);char*efficiencyStrstrtok(NULL,,);char*sceneStrstrtok(NULL,,);doublecapacityatof(capacityStr);doubleefficiencyatof(efficiencyStr);intsceneatoi(sceneStr);printf(%d\n,solve(capacity,efficiency,scene));return0;}完整用例用例175.8,14.3,1用例2135.1,12.3,2用例380,10,0用例480.9,10,1用例5160,20,0用例6160.9,20,2用例7200,15.5,1用例820.5,5,0用例9199.9,30,2用例10120.7,18.6,1文章目录**计算电动车续航里程**题目描述补充约束输入描述输出描述示例1示例2解题思路核心思想算法步骤正确性说明复杂度分析JavaPythonJavaScriptCGoC语言完整用例用例1用例2用例3用例4用例5用例6用例7用例8用例9用例10

相关新闻

基恩士KV8000 PLC与XH16EC总线系统的高效ST编程实践

基恩士KV8000 PLC与XH16EC总线系统的高效ST编程实践

1. 基恩士KV8000 PLC与XH16EC总线系统概述基恩士KV8000系列PLC在工业自动化领域一直以高可靠性和卓越性能著称。作为日系PLC的代表产品之一,KV8000采用了独特的硬件架构设计,其背板总线带宽可达1Gbps,支持最多16个扩展模块。我曾在汽车焊装生…

2026/10/16 23:46:37 阅读更多 →
桌面智能自动化神器 OpenClaw ,新手零基础一键部署落地

桌面智能自动化神器 OpenClaw ,新手零基础一键部署落地

核心亮点:提供全程可视化的图形操作界面,自动补齐全套运行依赖,数据独立存储于本地设备,兼容多款主流大模型,并采用轻量化的 45.7MB 整合压缩包。 教程适配:OpenClaw | 适配 Windows 10/11 与 macOS 双系统…

2026/10/17 6:35:27 阅读更多 →
终极指南:GBFR Logs - 碧蓝幻想Relink专业DPS分析工具完整教程

终极指南:GBFR Logs - 碧蓝幻想Relink专业DPS分析工具完整教程

终极指南:GBFR Logs - 碧蓝幻想Relink专业DPS分析工具完整教程 【免费下载链接】gbfr-logs GBFR Logs lets you track damage statistics with a nice overlay DPS meter for Granblue Fantasy: Relink. 项目地址: https://gitcode.com/gh_mirrors/gb/gbfr-logs …

2026/10/17 6:38:09 阅读更多 →

最新新闻

浏览器端AI模型实测:五个可用场景

浏览器端AI模型实测:五个可用场景

浏览器里跑AI模型这件事,过去常被当成技术演示。模型小、速度慢、效果勉强,离生产环境很远。但最近一两年,随着WebGPU逐步可用以及Transformers.js等运行时库的成熟,情况有了明显变化。一个典型的浏览器端模型现在能做到不需要调用…

2026/10/18 21:37:06 阅读更多 →
agent-skills:面向CLI开发者的可测试、可组合命令行能力单元

agent-skills:面向CLI开发者的可测试、可组合命令行能力单元

1. 项目概述:Agent-Skills 不是“智能体技能包”,而是开发者能力操作系统“agent-skills”这个名称乍看像某个AI模型的插件库,或是某款大模型的技能扩展模块——但实际完全不是。我第一次在GitHub上看到这个仓库时也误判了,点进去…

2026/10/18 21:37:06 阅读更多 →
YOLOv11条形码识别实战:从数据集制作到系统部署全流程

YOLOv11条形码识别实战:从数据集制作到系统部署全流程

1. 为什么传统方案搞不定条形码识别,我最终选了YOLOv111.1 传统识别库的局限:能解码不代表能“看见”先说说这个项目的起因。需求方拿来一堆仓储场景的条码图片:货架上的小标签、纸箱侧面的物流面单、还有被透明胶带反复缠绕的包装袋。我当时…

2026/10/18 21:37:06 阅读更多 →
圆瓶轴向轮廓怎样比较:有符号几何间隙与插值区间

圆瓶轴向轮廓怎样比较:有符号几何间隙与插值区间

壹星(YIXING)技术笔记|东莞市壹星自动化设备有限公司瓶身轴向轮廓不同位置的读数不一致时,可以先计算它与一个给定参考轮廓的几何间隙,查看差异出现在哪里。本文以圆瓶滚贴区域为背景,构造五个离散点的教学…

2026/10/18 21:37:06 阅读更多 →
麻雀算法优化CNN-BiLSTM回归预测Matlab源码解析

麻雀算法优化CNN-BiLSTM回归预测Matlab源码解析

简介:一份基于麻雀算法(SSA)优化卷积双向长短期记忆网络(CNN-BILSTM)的Matlab回归预测源码,面向多输入单输出场景,可直接用于科研实验、课程设计或算法对比。麻雀算法具备较强的全局搜索能力,能对学习率、隐含层节点数和正则化参数…

2026/10/18 21:37:06 阅读更多 →
Web自动化测试元素定位全攻略:从方案选型到复杂DOM稳定处理

Web自动化测试元素定位全攻略:从方案选型到复杂DOM稳定处理

做Web自动化测试,写过上百条用例之后你会发现一个扎心的事实:框架选型、环境搭建、用例组织,这些前期工作反而不是最大的坎,真正每天跟你较劲的,是元素定位。脚本跑挂了,十次里有八次是元素没找到、定位到了…

2026/10/18 21:36:06 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →