#A40. ⌈Alvin OI Round 2⌋ 计算器最终版

    ID: 42 传统题 1000ms 256MiB 尝试: 3 已通过: 1 难度: 8 上传者: 标签>算法基础暴力枚举模拟倍增数学位运算快速幂高精度普通生成函数字符串后缀自动机组合数学排列组合搜索深度优先搜索广度优先搜索数论最大公约数分解质因数数据结构队列链表哈希表动态规划计算几何多项式杂项图论Alvin OI

⌈Alvin OI Round 2⌋ 计算器最终版

题目背景

Alvin 让你写了这么多的计算器题目,决定不为难你了。

题目描述

写出一个科学计算器。

要求:

1.+,,×,/+,-,\times,/ 运算(整数,可识别括号"()"即可);

2.阶乘(高精度);

3.三角函数和反三角函数(弧度计算,保留 99 位,包括 sin,cos,tan,arcsin,arccos,arctansin,cos,tan,arcsin,arccos,arctan)。

输入格式

一行,表示计算的式子。

输出格式

一行,表述计算的结果。

输入输出样例

1+(2*3)/4
2
23!
25852016738884976640000
sin(3)
0.141120008

数据范围

数据共有 2525 个点,将其分为三组:

1151-15 点,四则运算:

数据点 131-3:加法,保证结果在 intint 范围里;

数据点 464-6:减法,保证结果在 intint 范围里;

数据点 797-9:乘法,保证结果在 intint 范围里;

数据点 101210-12:四则运算,保证结果在 intint 范围里;

数据点 131513-15:四则运算+括号,保证结果在 intint 范围里。

162016-20 点,阶乘:

数据点 1616:保证结果在 intint 范围里;

数据点 1717:保证结果在 longlonglong long 范围里;

数据点 182018-20:保证 n300n \le 300

212521-25 点,三角函数和反三角函数:

数据点 212321-23:保证 0n1030 \le n \le 10^3,三角函数;

数据点 242524-25:保证 0n1030 \le n \le 10^3,反三角函数。

特殊地,对于三角函数和反三角函数数据点,如没有函数值返回“nan”

保证所有的数据点长度不超过 10001000