#LQ0818. 小计算器

小计算器

题目描述

模拟程序型计算器,依次输入指令,可能包含的指令有

  1. 数字:'NUMX',X 为一个只包含大写字母和数字的字符串,表示一个当前进制的数。
  2. 运算指令:'ADD','SUB','MUL','DIV','MOD',分别表示加减乘,除法取商,除法取余。
  3. 进制转换指令:'CHANGE K',将当前进制转换为 KK 进制 (2K36)(2≤K≤36)
  4. 输出指令:'EQUAL',以当前进制输出结果。
  5. 重置指令:'CLEAR',清除当前数字。

指令按照以下规则给出:

数字,运算指令不会连续给出,进制转换指令,输出指令,重置指令有可能连续给出。

运算指令后出现的第一个数字,表示参与运算的数字。且在该运算指令和该数字中间不会出现运算指令和输出指令。

重置指令后出现的第一个数字,表示基础值。且在重置指令和第一个数字中间不会出现运算指令和输出指令。

进制转换指令可能出现在任何地方。

运算过程中中间变量均为非负整数,且小于 263。

以大写的'A'~'Z'表示 10~35。

输入描述

第 1 行:1 个 n(1n<5×105)n(1≤n<5×10^5),表示指令数量。

2n+12 ⋯n+1 行:每行给出一条指令。指令序列一定以'CLEAR'作为开始,并且满足指令规则。

初始默认的进制是十进制。

输出描述

依次输出每一次 'EQUAL' 得到的结果。

7
CLEAR
NUM 1024
CHANGE 2
ADD
NUM 100000
CHANGE 8
EQUAL
2040