首页 > 表达式计算4
头像 秃头大太阳
发表于 2020-05-27 15:45:54
雨神告诉俺们,表达式计算用递归最不容易出错。(确实不递归的话需要考虑的情况就很多了,容易错漏)本题解参考牛友 id 唯爱奕希依然 的代码。 题目描述 给出一个表达式,其中运算符仅包含+,-,*,/,^(加 减 乘 整除 乘方)要求求出表达式的最终值 数据可能会出现括号情况,还有可能出现多余括号情况 展开全文
头像 Bernard5
发表于 2020-05-21 01:25:58
看到各位大佬的恐怖码量,相信一定有人和本菜鸡一样不寒而栗: 看到这种题,cpp要手动模拟,要写当然也可以,只是很麻烦 懒癌发作不想写怎么办? 用python!众所周知解释型语言的eval真是好用。 冲冲冲: a=input().replace('^','**') a=a.replace('/' 展开全文
头像 CalvinLin011010
发表于 2022-07-21 16:37:23
题目链接: https://ac.nowcoder.com/acm/problem/50999 题面: 给出一个表达式,其中运算符仅包含+,-,*,/,^(加 减 乘 整除 乘方)要求求出表达式的最终值 数据可能会出现括号情况,还有可能出现多余括号情况 数据保证不会出现\geq 2^{31}的答案数 展开全文
头像 3210448723
发表于 2022-10-25 16:36:53
#include <bits/stdc++.h> using namespace std; /* 虽然通过了示例,但是可能还有bug 目前额外添加了网上其他同学的测试样例,都通过了: (-5)^2))))+2=27 2+2^4/8-6=-2 3+(2*5+7^2)-6*(3+2)=32 展开全文
头像 ThinkofBlank
发表于 2020-05-19 16:55:01
嗯。。。表达式计算的又一道类模板 做这类题,其实就相当于在搞一个大模拟的题目。 我们需要注意的是:因为有多余的括号出现,所以我们最好在一开始把多余的括号去掉,防止中途计算出现问题。 其次,就是需要注意计算的顺序,对于此题,我们应该先算括号,再算乘方,然后按出现顺序算乘除,最后再按出现顺序算加减。 我 展开全文
头像 sunrise__sunrise
发表于 2020-05-28 21:19:48
eval 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 给出一个表达式,其中运算符仅包含+,-,*,/,^(加 减 乘 整除 乘方)要求求出表达式的最终值 数 展开全文
头像 牛客467617699号
发表于 2022-06-04 16:51:07
链接:https://ac.nowcoder.com/acm/problem/50999 来源:牛客网 感谢雨神 题目描述 给出一个表达式,其中运算符仅包含+,-,*,/,^(加 减 乘 整除 乘方)要求求出表达式的最终值 数据可能会出现括号情况,还有可能出现多余括号情况 数据保证不会出现>= 展开全文
头像 流锡
发表于 2021-03-09 13:45:07
题目:给你一个含^(乘方)与多余的括号的表达式,输出结果思路:分治利用递归将每个括号与符号左右拆分成一个个小式子再在计算中合并到一起具体看代码实现(参考了较多雨巨的代码)代码: #include <iostream> #include <string> #include &l 展开全文
头像 迟缓的小章鱼在打卡
发表于 2024-03-14 17:13:03
关于分治和递归的最最妙的应用题:表达式计算 ">using namespace std; string s; int getnum(int l , int r){//这个函数的作用是当式子中只有数时将字符串表示转换成整型的数,第一次写的时候还没考虑到这个问题,当时只想到了当条件l == r 时,返 展开全文
头像 在刷题的单身狗很开心
发表于 2023-09-01 22:00:25
通过找寻最低优先级的运算符来进行递归,由递归栈的性质可以得到先找最低优先级的然后递归就可以顺利将最后也就是最高优先级的运算符先计算然后计算结果返回到上一层接着计算。 在中间还牵扯到多余括号的处理以及字符串数字转数字。 #include <bits/stdc++.h> 展开全文