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/8/4 4:02:32 阅读更多 →
桌面智能自动化神器 OpenClaw ,新手零基础一键部署落地

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

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

2026/8/4 4:01:31 阅读更多 →
终极指南: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/8/4 4:01:31 阅读更多 →

最新新闻

VC++实现游戏自动按键:从SendInput原理到防检测脚本引擎

VC++实现游戏自动按键:从SendInput原理到防检测脚本引擎

1. 项目概述:从“物理外挂”到程序化操控在游戏辅助工具的开发圈子里,“自动按键”一直是个既敏感又充满技术魅力的话题。它不像修改内存数据那样直接触及游戏厂商的逆鳞,但又能实实在在地解放玩家的双手,实现一些重复性操作或复杂…

2026/8/4 4:43:53 阅读更多 →
TDengine 备份与恢复 — taosdump 与企业版备份方案

TDengine 备份与恢复 — taosdump 与企业版备份方案

分类:12.运维 | 篇章:04 备份与恢复 免费详情 数据备份是生产环境的必备能力。TDengine 提供 taosdump(开源工具,逻辑备份)和企业版备份方案(物理备份/增量备份)。本文涵盖备份策略、恢复流程、…

2026/8/4 4:43:53 阅读更多 →
MODWT与多分辨率分析在信号处理中的Matlab实现

MODWT与多分辨率分析在信号处理中的Matlab实现

1. 项目概述:极大重叠离散小波变换与多分辨率分析第一次接触极大重叠离散小波变换(MODWT)是在处理一组非平稳信号时。当时我遇到一个棘手问题:传统离散小波变换(DWT)在分析金融时间序列时,由于下采样操作导致的时间轴错位让人头疼不已。直到发…

2026/8/4 4:43:53 阅读更多 →
最近两年,AI 成了企业圈最卷的话题。

最近两年,AI 成了企业圈最卷的话题。

最近两年,AI 成了企业圈最卷的话题。 老板见面三句话不离大模型、智能体、数字化转型;你家上了 AI 客服,我家就上 AI 写作;你家搞了智能排产,我家就做数字孪生。仿佛不上几套 AI 系统,就跟不上时代&#xf…

2026/8/4 4:43:53 阅读更多 →
移动安全逆向利器:unidbg无源码Native代码模拟执行实战指南

移动安全逆向利器:unidbg无源码Native代码模拟执行实战指南

1. 项目概述:为什么我们需要unidbg?在移动安全与逆向工程这个行当里,我们经常会遇到一个让人头疼的经典场景:你拿到一个安卓或iOS的APP,它的核心业务逻辑被封装在了一个或多个原生的.so(Android&#xff09…

2026/8/4 4:43:53 阅读更多 →
Vulkan初始化性能优化:5步实现C++跨平台高效渲染

Vulkan初始化性能优化:5步实现C++跨平台高效渲染

1. 项目概述:为什么Vulkan初始化值得深究?如果你是一名长期在OpenGL或DirectX 3D API下耕耘的图形程序员,第一次接触Vulkan时,那种扑面而来的复杂感可能会让你心生退意。一大堆的VkInstance、VkDevice、VkQueue、VkCommandBuffer需…

2026/8/4 4:42:52 阅读更多 →

日新闻

AI Agent白手起家26: 使用标准事件驱动大模型实践

AI Agent白手起家26: 使用标准事件驱动大模型实践

纲要 练习目标:掌握大模型标准事件的调用回顾 LangChain 中的核心标准事件 invokestreambatchastream_eventswith_structured_output 环境准备实战代码:多种事件调用对比 同步调用与流式输出批量处理异步事件流监听结构化输出 运行说明与预期结果总结与扩…

2026/8/4 0:00:40 阅读更多 →
dealsea是什么?跨境卖家必知的美国deal站入门指南

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话,第一次听说美国这个老牌折扣网站的跨境卖家,十个有八个会问同一个问题:这个平台到底是干嘛的?我见过一个做家居出口的朋友,他在亚马逊上月销二十万美金,却从来没用过它。我给他看了首页——一屏一屏…

2026/8/4 0:01:40 阅读更多 →
清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

通讯作者:邓兵、刘建国通讯单位:清华大学DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清洁能源技术与电子器件不可或缺的核心原料,然而传统提取方式依赖能耗高、排放大的采矿与强…

2026/8/4 0:01:40 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/3 4:58:13 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/3 1:53:31 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/3 4:36:35 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/3 13:07:03 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/3 5:19:38 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/3 8:27:36 阅读更多 →