luogu#B4278. [蓝桥杯青少年组国赛 2023] 简单算术题

[蓝桥杯青少年组国赛 2023] 简单算术题

题目描述

给定一道没有括号的四则混合运算算术题(可能包含多余的空格),请编程计算出结果。运算规则如下:

  1. 既有乘、除法又有加、减法的,要先算乘除法,再算加减法;
  2. 同级运算时,要从左往右按顺序计算;
  3. 所有除法运算的结果都只保留整数部分(直接舍弃小数部分)。

例如:当算术题为 2+3410/6+1/24\tt{2 + 3*4 - 10/6 + 1/2*4} 时:

  • 优先计算乘除法,有 34=12\tt{3*4=12}10/6=1\tt{10/6=1}1/24=0\tt{1/2*4=0}
  • 然后计算加减法,2+3410/6+1/24=2+121+0=13\tt{2+3*4-10/6+1/2*4} = \tt{2+12-1+0} = \tt{13},故输出 1313

输入格式

输入一个字符串,表示算术题:

  • 字符串长度 55 \leq 长度 100000\leq 100000
  • 字符串中只包含数字字符以及 +\tt{+}\tt{-}\tt{*}/\tt{/} 运算符;
  • 不含括号,可能包含空格;
  • 算式中的运算数范围:11 \leq 运算数 200\leq 200

输出格式

输出一个整数,表示算术题的计算结果。题目数据保证算式的每一步运算的结果都在 2×1092×109-2 \times 10^9 \sim 2 \times 10^9 之间。

2+3*4-10/6+1/2*4
13