首页 > [NOIP2013]表达式求值
头像 夜语声烦-
发表于 2022-03-03 00:19:02
[NOIP2013]表达式求值 #include <iostream> using namespace std; int n,m,ans; char c; int main() { cin >> n; while(~scanf("%c%d",&c 展开全文
头像 回归梦想
发表于 2020-04-25 00:20:33
链接 表达式求值 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言262144K 64bit IO Format: %lld 题目描述 给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值。 输入描述: 输入仅有一行,为需要你计算的表达式, 展开全文
头像 savage
发表于 2019-08-26 17:15:53
题目描述 给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值。 输入描述: 输入仅有一行,为需要你计算的表达式,表达式中只包含数字、加法运算符“+”和乘法运算符“*”,且没有括号。 所有参与运算的数字均为 0 到 之间的整数。 输入 展开全文
头像 在刷题的单身狗很开心
发表于 2023-09-03 11:26:38
本题字符串中符号最大达到100000,那么只用递归的方式去求解表达式的话就需要100000层的递归(会超时)。那么可以回到后缀表达式的思路。 使用op栈保存符号,num栈保存数字。在计算过程中遇到*就进行计算后把计算的结果压栈。重复这个过程就可以了。 要注意:题目要求当答案长度大于4位时 展开全文
头像 芙蓉王媛
发表于 2021-12-18 10:46:37
标题 表达式求值 题目描述 给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值。 输入 输入仅有一行,为需要你计算的表达式,表达式中只包含数字、加法运算符“+”和乘法运算符“*”,且没有括号。 所有参与运算的数字均为 0 到 231-1 之间的整数。 输入数据保证这一行只有0~9、+、* 展开全文
头像 中等人
发表于 2020-04-22 09:38:10
https://blog.csdn.net/qq_45810570/article/details/105668624
头像 尙尢
发表于 2021-12-12 20:22:34
看题意,很简单,通俗易懂。代码思路方法如果没找好,会难写,代码长。 首先将字符串以“+”分割成数组。注意str.split(“\+”)。 再在每个元素比较是否含有“*”,若有先把乘的结果算出来,最后相加。 最后关键:int型最大数值:2147483647。题目每个数范围是0-2147483647。最 展开全文
头像 程序蒟蒻
发表于 2020-10-15 22:13:53
用ti来判断是否要有乘法,如果有乘法的话ti的值为上个数的值,即为要乘的数,直接用sign乘上ti就得到这个值了,如果ti==-1就代表暂时没有乘法,只需要正常进行加法运算就可以。输出后四位一直%10000就可以了。 #include<iostream> using namespace 展开全文
头像 太极0
发表于 2024-04-10 23:30:49
此题采用栈的做法,先将字符串全部保存起来,然后逐个遍历,数字保留最后4位,不足4位的有多少位算多少位,用数字栈保存数字,用操作符栈保存操作符,有操作符入栈则先结算数字让数字入栈,然后进行操作符入栈操作,当操作符优先级低于运算符栈顶运算符时,将弹出所有高优先级的运算符并进行相应的运算,将演算结果压入数 展开全文
头像 sunsetcolors
发表于 2020-04-21 22:26:25
D 表达式求值 题目地址: https://ac.nowcoder.com/acm/contest/5338/D 基本思路: 这题难点没有什么,就是模拟比较麻烦,注意到我们取后四位也就是说在计算过程中对10000取模就行了,然后处理我这里是先把数字和字符全部独立出来放在两个数组里,然后再开一 展开全文