华为OD机试新系统真题【计算电动车续航里程】
计算电动车续航里程(C/C/Py/Java/Js/Go)题解华为OD机试新系统真题 华为OD上机考试新系统真题 8月2号 100分题型华为OD机试新系统真题目录点击查看: 华为OD机试新系统真题题库目录机考题库 算法考点详解题目内容给定电动车的电池容量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 20 \le \text{capacity} \le 20020≤capacity≤200非整数需向下取整标准能耗效率范围5 ≤ efficiency ≤ 30 5 \le \text{efficiency} \le 305≤efficiency≤30驾驶场景仅支持“city”城市0/场景修正系数kc0 1 \text{kc0}1kc01、“highway”高速1/场景修正系数kc1 0.92 \text{kc1}0.92kc10.92、“mountain”山路2/场景修正系数kc2 0.85 \text{kc2}0.85kc20.85结果要求有效续航里程需四舍五入为整数输出里程km。输入描述输入为一行包含三个值电池容量可能含小数、能耗效率可能含小数、驾驶场景整数0/1/2以逗号分隔。输出描述输出一个整数表示四舍五入后的有效续航里程单位km。样例1输入75.8 14.3 1输出438说明电池容量向下取整75.8 → 75 75.8 \rightarrow 7575.8→75能耗效率14.3 14.314.3零段电池容量capacity 160 kWh \text{capacity}160\text{kWh}capacity160kWh时kp0 1 \text{kp0}1kp01无损耗75 7575不在此段内电池容量等效为0 ∗ 1 0*10∗1一段电池容量160 kWh capacity 80 kWh 160\text{kWh}\text{capacity}80\text{kWh}160kWhcapacity80kWh时kp1 0.98 \text{kp1}0.98kp10.9875 7575不在此段内电池容量等效为0 ∗ 0.98 0*0.980∗0.98二段电池容量capacity 80 kWh \text{capacity}80\text{kWh}capacity80kWh时kp2 0.95 \text{kp2}0.95kp20.9575 7575在此段内电池容量等效为75 ∗ 0.95 75*0.9575∗0.95理论里程 ( 0 ∗ 1 0 ∗ 0.98 75 ∗ 0.95 ) / 14.3 ∗ 100 498.2517 km (0*10*0.9875*0.95)/14.3*100498.2517\text{km}(0∗10∗0.9875∗0.95)/14.3∗100498.2517km(保留4 44位)总体损耗系数计算0.956 0.9560.956基础∗ 0.92 * 0.92∗0.92高速 0.8795 0.87950.8795(保留4 44位)里程 498.2517 ∗ 0.8795 438.2124126 498.2517*0.8795438.2124126498.2517∗0.8795438.2124126四舍五入后的有效里程 438 438438样例2输入135.1 12.3 2输出858说明电池容量向下取整135.1 → 135 135.1 \rightarrow 135135.1→135能耗效率12.3 12.312.3零段电池容量capacity 160 kWh \text{capacity}160\text{kWh}capacity160kWh时kp0 1 \text{kp0}1kp01无损耗135 135135不在此段内电池容量等效为0 ∗ 1 0*10∗1一段电池容量160 kWh capacity 80 kWh 160\text{kWh}\text{capacity}80\text{kWh}160kWhcapacity80kWh时kp1 0.98 \text{kp1}0.98kp10.98135 135135在此段内电池容量等效为( 135 − 80 ) ∗ 0.98 (135-80)*0.98(135−80)∗0.98二段电池容量capacity 80 kWh \text{capacity}80\text{kWh}capacity80kWh时kp2 0.95 \text{kp2}0.95kp20.95剩余的电池容量80 8080在此段内电池容量等效为80 ∗ 0.95 80*0.9580∗0.95理论里程 ( 0 ∗ 1 ( 135 − 80 ) ∗ 0.98 80 ∗ 0.95 ) / 12.3 ∗ 100 1056.0976 km (0*1(135-80)*0.9880*0.95)/12.3*1001056.0976\text{km}(0∗1(135−80)∗0.9880∗0.95)/12.3∗1001056.0976km(保留4 44位)总体损耗系数0.956 0.9560.956基础∗ 0.85 * 0.85∗0.85山地 0.8126 0.81260.8126(保留4 44位)里程 1056.0976 ∗ 0.8126 858.1840908 1056.0976*0.8126858.18409081056.0976∗0.8126858.1840908四舍五入后的有效里程 858 858858题解思路模拟将电池容量向下取整分段计算每一段能耗修正数得到能耗修正数总和。依照公式理论续航里程 (电池容量 * 容量能耗修正系数) / 能耗效率 * 100得到理论续航里程并四舍五入保留4位小数。计算总体损耗系数按照公式基础损耗系数为 kb (0.956) * 场景修正系数 kc四舍五入保留4位小数总体损耗系数 * 理论续航里程计算实际里程并四舍五入保留整数。c#includebits/stdc.husingnamespacestd;intsolve(doublecapacity,doubleefficiency,inttype){// 向下取整intrealCapacity(int)floor(capacity);// 计算每一段能耗修正数doubleseg0max(0,realCapacity-160)*1.0;doubleseg1max(0,min(realCapacity,160)-80)*0.98;doubleseg2min(realCapacity,80)*0.95;doublecoefficientseg0seg1seg2;// 计算理论续航里程doubletheoryDistancecoefficient/efficiency*100;// 四舍五入保留4位小数theoryDistanceround(theoryDistance*10000)/10000.0;doublekc[3]{1.0,0.92,0.85};// 计算总体损耗系数 并保留4位小数doublekdround(0.956*kc[type]*10000)/10000.0;// 有效续航里程 并四舍五入保留正数returnround(theoryDistance*kd);}intmain(){doublecapacity,efficiency;inttype;cincapacityefficiencytype;coutsolve(capacity,efficiency,type);return0;}Javaimportjava.util.*;publicclassMain{staticintsolve(doublecapacity,doubleefficiency,inttype){// 向下取整intrealCapacity(int)Math.floor(capacity);// 计算每一段能耗修正数doubleseg0Math.max(0,realCapacity-160)*1.0;doubleseg1Math.max(0,Math.min(realCapacity,160)-80)*0.98;doubleseg2Math.min(realCapacity,80)*0.95;doublecoefficientseg0seg1seg2;// 计算理论续航里程doubletheoryDistancecoefficient/efficiency*100;// 四舍五入保留4位小数theoryDistanceMath.round(theoryDistance*10000)/10000.0;double[]kc{1.0,0.92,0.85};// 计算总体损耗系数 并保留4位小数doublekdMath.round(0.956*kc[type]*10000)/10000.0;// 有效续航里程 并四舍五入保留正数return(int)Math.round(theoryDistance*kd);}publicstaticvoidmain(String[]args){ScannerscnewScanner(System.in);doublecapacitysc.nextDouble();doubleefficiencysc.nextDouble();inttypesc.nextInt();System.out.println(solve(capacity,efficiency,type));sc.close();}}Pythonimportmathdefsolve(capacity,efficiency,type):# 向下取整real_capacityint(math.floor(capacity))# 计算每一段能耗修正数seg0max(0,real_capacity-160)*1.0seg1max(0,min(real_capacity,160)-80)*0.98seg2min(real_capacity,80)*0.95coefficientseg0seg1seg2# 计算理论续航里程theory_distancecoefficient/efficiency*100# 四舍五入保留4位小数theory_distanceround(theory_distance,4)kc[1.0,0.92,0.85]# 计算总体损耗系数 并保留4位小数kdround(0.956*kc[type],4)# 有效续航里程 并四舍五入保留正数returnround(theory_distance*kd)if__name____main__:capacity,efficiency,typeinput().split()capacityfloat(capacity)efficiencyfloat(efficiency)typeint(type)print(solve(capacity,efficiency,type))JavaScriptconstreadlinerequire(readline);constrlreadline.createInterface({input:process.stdin,output:process.stdout});rl.on(line,function(line){letarrline.trim().split(/\s/);letcapacityNumber(arr[0]);letefficiencyNumber(arr[1]);lettypeNumber(arr[2]);functionsolve(capacity,efficiency,type){// 向下取整letrealCapacityMath.floor(capacity);// 计算每一段能耗修正数letseg0Math.max(0,realCapacity-160)*1.0;letseg1Math.max(0,Math.min(realCapacity,160)-80)*0.98;letseg2Math.min(realCapacity,80)*0.95;letcoefficientseg0seg1seg2;// 计算理论续航里程lettheoryDistancecoefficient/efficiency*100;// 四舍五入保留4位小数theoryDistanceMath.round(theoryDistance*10000)/10000.0;letkc[1.0,0.92,0.85];// 计算总体损耗系数 并保留4位小数letkdMath.round(0.956*kc[type]*10000)/10000.0;// 有效续航里程 并四舍五入保留正数returnMath.round(theoryDistance*kd);}console.log(solve(capacity,efficiency,type));rl.close();});Gopackagemainimport(bufiofmtmathos)funcsolve(capacityfloat64,efficiencyfloat64,typint)int{// 向下取整realCapacity:int(math.Floor(capacity))// 计算每一段能耗修正数seg0:math.Max(0,float64(realCapacity-160))*1.0seg1:math.Max(0,math.Min(float64(realCapacity),160)-80)*0.98seg2:math.Min(float64(realCapacity),80)*0.95coefficient:seg0seg1seg2// 计算理论续航里程theoryDistance:coefficient/efficiency*100// 四舍五入保留4位小数theoryDistancemath.Round(theoryDistance*10000)/10000.0kc:[]float64{1.0,0.92,0.85}// 计算总体损耗系数 并保留4位小数kd:math.Round(0.956*kc[typ]*10000)/10000.0// 有效续航里程 并四舍五入保留正数returnint(math.Round(theoryDistance*kd))}funcmain(){in:bufio.NewReader(os.Stdin)varcapacity,efficiencyfloat64vartypintfmt.Fscan(in,capacity,efficiency,typ)fmt.Println(solve(capacity,efficiency,typ))}C语言#includestdio.h#includemath.hintsolve(doublecapacity,doubleefficiency,inttype){// 向下取整intrealCapacity(int)floor(capacity);// 计算每一段能耗修正数doubleseg0fmax(0,realCapacity-160)*1.0;doubleseg1fmax(0,fmin(realCapacity,160)-80)*0.98;doubleseg2fmin(realCapacity,80)*0.95;doublecoefficientseg0seg1seg2;// 计算理论续航里程doubletheoryDistancecoefficient/efficiency*100;// 四舍五入保留4位小数theoryDistanceround(theoryDistance*10000)/10000.0;doublekc[3]{1.0,0.92,0.85};// 计算总体损耗系数 并保留4位小数doublekdround(0.956*kc[type]*10000)/10000.0;// 有效续航里程 并四舍五入保留正数return(int)round(theoryDistance*kd);}intmain(){doublecapacity,efficiency;inttype;scanf(%lf %lf %d,capacity,efficiency,type);printf(%d,solve(capacity,efficiency,type));return0;}

相关新闻

图形编程基础:从点线面到光栅化算法的核心原理与实践

图形编程基础:从点线面到光栅化算法的核心原理与实践

1. 从“点”开始:理解图形绘制的基石 聊到图形编程,无论是做游戏、做数据可视化,还是搞UI设计,总绕不开一个最基础、也最核心的环节:基本图形绘制。你可能觉得,画个点、画条线,这有什么好讲的&a…

2026/8/3 14:09:53 阅读更多 →
Spring Boot+Redis+Kafka构建高并发电商系统实战

Spring Boot+Redis+Kafka构建高并发电商系统实战

1. 项目概述"Java大厂面试实战:Spring BootRedisKafka电商高并发场景深度解析"这个标题直指当前Java技术栈中最核心的三大技术组合在实际业务场景中的应用。作为一名经历过多次大厂技术面试的Java开发者,我深知这套技术组合在电商、金融、社交…

2026/8/3 14:09:53 阅读更多 →
Mate Engine终极指南:免费开源的桌面虚拟伴侣软件如何改变你的数字生活

Mate Engine终极指南:免费开源的桌面虚拟伴侣软件如何改变你的数字生活

Mate Engine终极指南:免费开源的桌面虚拟伴侣软件如何改变你的数字生活 【免费下载链接】Mate-Engine A free Desktop Mate alternative with a lightweight interface and custom VRM support, though with more features. 项目地址: https://gitcode.com/gh_mir…

2026/8/3 14:09:53 阅读更多 →

最新新闻

Unity 2021.3 IL2CPP Windows打包实战:从环境配置到避坑指南

Unity 2021.3 IL2CPP Windows打包实战:从环境配置到避坑指南

1. 项目概述:为什么IL2CPP打包Windows是个“技术活”?如果你是一位Unity开发者,尤其是从Unity 2017.x或更早版本升级上来的,那么当你第一次在Unity 2021.3.8f1这样的LTS版本下,尝试使用IL2CPP后端为Windows平台打包时&…

2026/8/4 15:53:01 阅读更多 →
Umi-OCR:免费离线批量OCR处理终极指南,让文字提取变得简单高效

Umi-OCR:免费离线批量OCR处理终极指南,让文字提取变得简单高效

Umi-OCR:免费离线批量OCR处理终极指南,让文字提取变得简单高效 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成…

2026/8/4 15:53:01 阅读更多 →
期货子母账户软件并不是简单的交易工具,而是一套围绕机构交易业务设计的账户管理体系

期货子母账户软件并不是简单的交易工具,而是一套围绕机构交易业务设计的账户管理体系

在期货交易业务不断扩展的过程中,很多交易团队都会遇到一个实际问题:如何管理越来越多的交易账户?对于个人投资者来说,一个交易账户即可满足需求。但是对于:量化交易团队资产管理机构交易服务平台金融软件公司来说&…

2026/8/4 15:53:01 阅读更多 →
终极指南:如何通过Python自动化工具解锁Cursor AI Pro完整功能

终极指南:如何通过Python自动化工具解锁Cursor AI Pro完整功能

终极指南:如何通过Python自动化工具解锁Cursor AI Pro完整功能 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached …

2026/8/4 15:53:01 阅读更多 →
C++菱形继承问题解析:从数据冗余到虚继承解决方案

C++菱形继承问题解析:从数据冗余到虚继承解决方案

1. 项目概述:为什么菱形继承是C面试的“常客”? 如果你在准备C面试,或者正在学习C面向对象编程,那么“菱形继承”这个词你大概率绕不过去。它就像一个经典的“面试官快乐题”,既能考察你对继承机制的理解深度&#xff…

2026/8/4 15:53:01 阅读更多 →
终极指南:如何用二维码在3分钟内完成跨设备文件传输

终极指南:如何用二维码在3分钟内完成跨设备文件传输

终极指南:如何用二维码在3分钟内完成跨设备文件传输 【免费下载链接】qr-filetransfer Transfer files over WiFi between your computer and your smartphone from the terminal 项目地址: https://gitcode.com/gh_mirrors/qr/qr-filetransfer 你是否曾因网…

2026/8/4 15:52:01 阅读更多 →

日新闻

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/4 13:24:41 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

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

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

2026/8/4 11:41:39 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

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

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

2026/8/4 5:26:40 阅读更多 →

月新闻

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

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

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

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

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

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

2026/8/4 11:09:16 阅读更多 →
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/4 13:38:40 阅读更多 →