华为OD机试题:火星文计算
题目描述:
已知火星人使用的运算符为#、$,其与地球人的等价公式如下:
x#y = 2x+3y+4
x$y = 3*x+y+2
其中x、y是无符号整数
地球人公式按C语言规则计算
火星人公式中,$的优先级高于#,相同的运算符,按从左到右的顺序计算 现有一段火星人的字符串报文,请你来翻译并计算结果。
输入描述:
火星人字符串表达式(结尾不带回车换行)
**输入的字符串说明: **
字符串为仅由无符号整数和操作符(#、$)
组成的计算表达式。例如:123#45#6778
用例保证字符串中,操作数与操作符之间没有任何分隔符。
用例保证操作数取值范围为32位无符号整数。
保证输入以及计算结果不会出现整型溢出。
保证输入的字符串为合法的求值报文,例如:123#45#6778
保证不会出现非法的求值报文,例如类似这样字符串:
#4$5 //缺少操作数
4$5# //缺少操作数
4#$5 //缺少操作数
4 $5 //有空格
3+4-5*6/7 //有其它操作符
12345678987654321$54321 //32位整数计算溢出
输出描述:
根据输入的火星人字符串输出计算结果(结尾不带回车换行)
示例
输入:
7#6$5#12
输出:
226
说明:
7#6$5#12=7#(3*6+5+2)#12
=7#25#12
=(2*7+3*25+4)#12
=93#12
=2*93+3*12+4
=226
#解题想法:首先,由于没有括号,所以最后的运算是数字和#运算;其次由于$的运算优先级,所以先把
有$的运算转化为数字;所以先用str.split("#")把数字和$ 区分开来,然后解决$,最后计算#while True:try:# m=int(input())# s = input()# l=list(map(int,s.split(" ")))s="7#6$5$4#12"#s=7#6$5$4#12"# x#y = 2x+3y+4# x$y = 3*x+y+2m=s.count("$")l=s.split("#")while len(l)>1:while m>0:for i in range(len(l)):if "$" in l[i]:ll=l[i].split("$")m-=len(ll)-1while len(ll)>1:tmp=3*int(ll[0])+int(ll[1])+2ll[0]=tmpll.remove(ll[1])l[i]=ll[0]print(l)tmp = 2 * int(l[0]) + 3 * int(l[1]) + 4l[0] = tmpl.remove(l[1])print(l[0])breakexcept Exception as e:print(e)break
华为OD机试题:火星文计算相关推荐
- 2023新华为OD机试题 - 火星文计算2(JavaScript) | 刷完必过
华为Od必看博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单 华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典 [华为OD机试]全流程解析+经验分享,题型 ...
- 华为OD机试 - 火星文计算 2(C++) | 附带编码思路 【2023】
刷算法题之前必看 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高. 华为 OD 清单查看地址:https://blog.csdn.net/hihell/categor ...
- 华为OD机试 - 火星文计算(Java JS Python)
目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 已知火星人使用的运算符为#.$,其与地球人的等价公式如下: x#y = 2*x+3*y+4 <
- 华为OD机试题,用 Java 解【火星文计算 2】问题
最近更新的博客 华为OD机试题,用 Java 解[停车场车辆统计]问题 华为OD机试题,用 Java 解[字符串变换最小字符串]问题 华为OD机试题,用 Java 解[计算最大乘积]问题 华为OD机试 ...
- 华为OD机试题(AB卷)真题抽中记录文档(更新到 6 月 21 日)
文章目录 本篇博客的价值 华为 OD 机试题 ⭐ ⭐ 华为 OD 机试 6 月 20 日 抽中卷 第一套 OD 机试卷 华为 OD 机试 6 月 19 日 抽中卷 第一套 OD 机试卷 华为 OD 机 ...
- 华为od机试题4 真题
华为od机试题 真题 58.处理所有作业总时长 53.最大停车距离 52.磁盘容量排序 51.非严格递增连续数字序列长度 50.均分糖果 48.没有相同字符的元素长度乘积的最大值 47. 相对开音节结 ...
- 华为od机试题1 真题
华为od机试题 真题 86.射击比赛成绩排序 85.计算屏幕字母数量 84.组成最大数字 82.输出字符串中最小数字 81.数字4的个数 80.整数排列 79.多条件排列 78.时间排序 以下题目附带 ...
- 华为od机试题9 真题
华为od机试题 真题 9.寻找重复字符 7.字符串翻转 6.小朋友身高排序 5.CPU最少执行时间 4.猴子爬山 3.输出信元的值 2.指定元素对最小和 1.勾股数元组 以下题目附带Java解法,是我 ...
- 华为od机试题6 真题
华为od机试题 真题 35.输出满足条件的数对 34.寻找众数中的中位数 33.分配内存 32.窗口和的最大值 31.求整数的连续自然数之和的表达式 30.矩阵的最大值 以下题目附带Java解法,是我 ...
- 华为OD机试题,用 Java 解【机器人走迷宫】问题
最近更新的博客 华为OD机试题,用 Java 解[停车场车辆统计]问题 华为OD机试题,用 Java 解[字符串变换最小字符串]问题 华为OD机试题,用 Java 解[计算最大乘积]问题 华为OD机试 ...
最新文章
- 查询出某个表依赖于某个表的外键,进行遍历删除操作
- sqlserver去掉密码强度验证_安装sql2008数据库引擎配置时,提示sa密码强度不满足要求怎么办?...
- 每日一皮:没想到现实比赛里也能和拳皇一样蓄力攻击...
- 【Paper】2012_Design of high performance multimedia control system for UAV/UGV based on SoC/FPGA Core
- UI设计:掌握这6点,轻松0到1
- JAVA入门级教学之(方法-调用-5)
- 【Java】机票分类打折程序的Swing实现
- linux下mysql日志管理及mysql备份还原
- SPI(Service Provider Interface)机制
- 火狐Fire fox换电脑后登录同步服务输入正确密码但一直提示密码错误
- docker MySQL 双主_DockerMysql数据库实现双主同步配置详细·TesterHome
- Lisa随手记 1.7 帮助
- 什么是固定资产管理系统?固定资产管理小程序有哪些功能?
- 【洛谷】P1425 小鱼的游泳时间
- 手机网络邻居访问电脑_不是一个局域网手机怎么访问电脑
- 友盟社会化分享+第三方登录 2022.03.28 最新版
- detectron研读
- QGIS下载各种DEM的插件(SRTM 90m/30m -ALOS 30m -Cop 30m/90m-NASADEM Global DEM)
- JS方法/函数重载的姿势
- Unity基础之EasyAR
热门文章
- 半导体、本征半导体和杂质半导体
- 在winfrom窗体中使用漂亮的窗体样式。
- java注解使用变量_java注解的使用
- 常用的670个Python库和示例代码(快速上手+必备收藏)
- android 设备管理器 解锁,4种方法解锁Android手机模式锁定而无需恢复出厂设置
- C++函数指针、函数对象与C++11 function对象对比分析
- python tkinter 勾选框_Python Tkinter网格复选框
- iPhone4s / 4 网络设置
- 【小米AIoT开发者大会】雷军宣布小爱同学激活破亿,和宜家开启战略合作
- 2018/1/8 系统重装