题目描述:

已知火星人使用的运算符为#、$,其与地球人的等价公式如下:

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机试题:火星文计算相关推荐

  1. 2023新华为OD机试题 - 火星文计算2(JavaScript) | 刷完必过

    华为Od必看博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单 华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典 [华为OD机试]全流程解析+经验分享,题型 ...

  2. 华为OD机试 - 火星文计算 2(C++) | 附带编码思路 【2023】

    刷算法题之前必看 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高. 华为 OD 清单查看地址:https://blog.csdn.net/hihell/categor ...

  3. 华为OD机试 - 火星文计算(Java JS Python)

    目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 已知火星人使用的运算符为#.$,其与地球人的等价公式如下: x#y = 2*x+3*y+4 <

  4. 华为OD机试题,用 Java 解【火星文计算 2】问题

    最近更新的博客 华为OD机试题,用 Java 解[停车场车辆统计]问题 华为OD机试题,用 Java 解[字符串变换最小字符串]问题 华为OD机试题,用 Java 解[计算最大乘积]问题 华为OD机试 ...

  5. 华为OD机试题(AB卷)真题抽中记录文档(更新到 6 月 21 日)

    文章目录 本篇博客的价值 华为 OD 机试题 ⭐ ⭐ 华为 OD 机试 6 月 20 日 抽中卷 第一套 OD 机试卷 华为 OD 机试 6 月 19 日 抽中卷 第一套 OD 机试卷 华为 OD 机 ...

  6. 华为od机试题4 真题

    华为od机试题 真题 58.处理所有作业总时长 53.最大停车距离 52.磁盘容量排序 51.非严格递增连续数字序列长度 50.均分糖果 48.没有相同字符的元素长度乘积的最大值 47. 相对开音节结 ...

  7. 华为od机试题1 真题

    华为od机试题 真题 86.射击比赛成绩排序 85.计算屏幕字母数量 84.组成最大数字 82.输出字符串中最小数字 81.数字4的个数 80.整数排列 79.多条件排列 78.时间排序 以下题目附带 ...

  8. 华为od机试题9 真题

    华为od机试题 真题 9.寻找重复字符 7.字符串翻转 6.小朋友身高排序 5.CPU最少执行时间 4.猴子爬山 3.输出信元的值 2.指定元素对最小和 1.勾股数元组 以下题目附带Java解法,是我 ...

  9. 华为od机试题6 真题

    华为od机试题 真题 35.输出满足条件的数对 34.寻找众数中的中位数 33.分配内存 32.窗口和的最大值 31.求整数的连续自然数之和的表达式 30.矩阵的最大值 以下题目附带Java解法,是我 ...

  10. 华为OD机试题,用 Java 解【机器人走迷宫】问题

    最近更新的博客 华为OD机试题,用 Java 解[停车场车辆统计]问题 华为OD机试题,用 Java 解[字符串变换最小字符串]问题 华为OD机试题,用 Java 解[计算最大乘积]问题 华为OD机试 ...

最新文章

  1. 查询出某个表依赖于某个表的外键,进行遍历删除操作
  2. sqlserver去掉密码强度验证_安装sql2008数据库引擎配置时,提示sa密码强度不满足要求怎么办?...
  3. 每日一皮:没想到现实比赛里也能和拳皇一样蓄力攻击...
  4. 【Paper】2012_Design of high performance multimedia control system for UAV/UGV based on SoC/FPGA Core
  5. UI设计:掌握这6点,轻松0到1
  6. JAVA入门级教学之(方法-调用-5)
  7. 【Java】机票分类打折程序的Swing实现
  8. linux下mysql日志管理及mysql备份还原
  9. SPI(Service Provider Interface)机制
  10. 火狐Fire fox换电脑后登录同步服务输入正确密码但一直提示密码错误
  11. docker MySQL 双主_DockerMysql数据库实现双主同步配置详细·TesterHome
  12. Lisa随手记 1.7 帮助
  13. 什么是固定资产管理系统?固定资产管理小程序有哪些功能?
  14. 【洛谷】P1425 小鱼的游泳时间
  15. 手机网络邻居访问电脑_不是一个局域网手机怎么访问电脑
  16. 友盟社会化分享+第三方登录 2022.03.28 最新版
  17. detectron研读
  18. QGIS下载各种DEM的插件(SRTM 90m/30m -ALOS 30m -Cop 30m/90m-NASADEM Global DEM)
  19. JS方法/函数重载的姿势
  20. Unity基础之EasyAR

热门文章

  1. 半导体、本征半导体和杂质半导体
  2. 在winfrom窗体中使用漂亮的窗体样式。
  3. java注解使用变量_java注解的使用
  4. 常用的670个Python库和示例代码(快速上手+必备收藏)
  5. android 设备管理器 解锁,4种方法解锁Android手机模式锁定而无需恢复出厂设置
  6. C++函数指针、函数对象与C++11 function对象对比分析
  7. python tkinter 勾选框_Python Tkinter网格复选框
  8. iPhone4s / 4 网络设置
  9. 【小米AIoT开发者大会】雷军宣布小爱同学激活破亿,和宜家开启战略合作
  10. 2018/1/8 系统重装