当前位置: 首页 > news >正文

华为OD机试 - 火星文计算2(JS)| 真题+思路++考点+代码

火星文计算2

题目

已知火星人使用的运算符号为#;$
其与地球人的等价公式如下
x#y=4*x+3*y+2
x$y=2*x+y+3
x y是无符号整数
地球人公式按照c语言规则进行计算
火星人公式中#符优先级高于$
相同的运算符按从左到右的顺序运算

输入

火星人字符串表达式结尾不带回车换行
输入的字符串说明是 字符串为仅有无符号整数和操作符组成的计算表达式

  1. 用例保证字符串中操作数与操作符之间没有任何分隔符
  2. 用例保证操作数取值范围为32位无符号整数,
  3. 保证输入以及计算结果不会出现整型溢出
  4. 保证输入的字符串为合法的求值报文
    例如: 123#4$5#76$78
  5. 保证不会出现非法的求值报文
    例如: #4$5 这种缺少操作数
    4$5# 这种缺少操作数
    4#$5 这种缺少操作数
    4 $5 有空格
    3+4-5*6/7 有其他操作符
    12345678987654321$54321 32位整数溢出

输出

根据火星人字符串输出计算结果
结尾不带回车换行

示例一

输入

7#6$5#12

输出

157

说明

7#6$5#12=(4*7+3*6+2)$5#12=48$5#12=48$(4*5+3*12+2)=48$58=2*48+58+3=157

解题思路

这是一个字符串解析的算法任务,它对输入的字符串进行了处理,然后输出最终结果。

  1. 首先,该代码使用readline函数读入一个字符串,该字符串可能包含#和$符号,表示分隔符。
  2. 然后,使用split函数将读入的字符串按#符号分隔为一个字符串数组。
  3. 接下来,遍历字符串数组,对于包含$符号的字符串,再使用split函数将其分隔为数字字符串数组。
  4. 然后,使用reduce函数对该数字字符串数组进行计算,结果存储在数组的相应位置。
  5. 如果字符串数组仅包含一个元素,则直接输出该元素的值。否则,使用reduce函数将数组的所有元素进行计算,并输出结果。

核心知识点

  1. 使用正则表达式将输入字符串分为两个列表:数字列表和操作符列表。

  2. 使用 while 循环实现对 “#” 操作符的计算。

  3. 调用 sharpdollar 函数对数字进行运算,并得到最终结果。

  4. 将最终结果通过 print 语句输出。

Code

/*** Author: 华为OD联盟(梦想橡皮擦,码莎拉蒂,鸿蒙坚果)* Date: 2023/2/16* Time: 9:35* Description:*/
let a=readline()// let a='7$6$5#12'let res=a.split('#')for(let i=0;i<res.length;i++){if(res[i].includes('$')){let t=res[i].split('$')res[i]=t.reduce((a,b)=>3*Number(a)+Number(b)+2)}}if(res.length==1){console.log(res[0])}else{res=res.reduce((a,b)=>(2*a+3*b+4))}console.log(res)

版权说明

试题来源:华为 OD 联盟整理收集

题解:解题思路代码 为原创内容,该部分版权由 OD 联盟共同拥有,并授权组内成员发布。

目标:👉 助你解开所有机试题

http://www.lryc.cn/news/4807.html

相关文章:

  • 从春节后央行的首批罚单,看金融反欺诈反洗钱的复杂性
  • 【Hello Linux】Linux工具介绍 (yum vim)
  • 多种充电模式_手持无线充气泵方案
  • 【网络基础】DNS是什么
  • 二叉树的性质与推导及常见习题整理
  • 亚马逊卖家测评补单的重要性和缺点
  • Java类和对象超详细整理,适合新手入门
  • MySQL:连explain的type类型都没搞清楚,怎敢说精通SQL优化?
  • 6.11 极分解
  • Spring、SpringMVC、Shiro、Maven
  • element-plus 使用笔记
  • 《蓝桥杯每日一题》 前缀和·Acwing 3956. 截断数组
  • 促进关键软件高层次人才培养:平凯星辰与华东师范大学签订联合博士培养合作协议
  • Java程序员的日常——经验贴
  • 电商API社区,商品数据,关键词搜索等
  • LEADTOOLS 22.0.6 UPDATE-Crack
  • 什么是OJ? 东方博宜题库部分题解
  • 企业工程项目管理系统源码的各模块及其功能点清单
  • 【电商开发手册】订单-下单
  • 数据结构 - 优先级队列(堆)
  • PDF内容提取器:ByteScout PDF Extractor SDK Crack
  • 字母板上的路径[提取公共代码,提高复用率]
  • c# winform错误大全
  • AI_News周刊:第一期
  • 搭建mysql主从复制
  • 内存溢出、内存泄露的概述及常见情形
  • Linux 中断实验
  • 【c++】指针
  • 别具一格的婚礼,VR全景+婚礼的优势展现在哪里?
  • 【GD32F427开发板试用】5. SPI驱动TFTLCD屏幕