Preparing NOJ

表达式化简

1000ms 65536K

Description:

 给出一个仅包含+*符号以及开方函数的算术表达式,例如 1.3+4.5*sqrt(360)+sqrt(4)+2*sqrt(10)

计算这个表达式,使之最简,最简的规矩如下

1)实数转为为对应的最简分数形式,例如3.3 应该转换为33/10

2)sqrt(x) 中,x应该是最简形式,即sqrt(32)应该为4*sqrt(2)

3)合并类似项,例如sqrt(10)+2*sqrt(10)应该为3*sqrt(10)

Input:

一个不超过80个字符的表达式,这个表达式中只包含+* 这两个算术符号,以及sqrt开方函数。其中的数字都是非负数,同时小于1000。实数的小数点后至多只有6位。sqrt(x)形式中的x保证是非负整数。整个表达式没有额外的空格。

Output:

输出化简后的表达式。

1)      先输出不包含开方函数的常数,如果存在的话。

2)      a*sqrt(x1)的输出顺序先于b*sqrt(x2)当且仅当x1>x2

3)      注意sqrt(x)的系数为1,则不用输出这个系数。

Sample Input:

1.3+4.5*sqrt(360)+sqrt(4)+2*sqrt(10)+1.1*sqrt(3)

Sample Output:

33/10+29*sqrt(10)+11/10*sqrt(3)

Note:

 

本题由旧版NOJ导入,来源:李鸿斌(honghu)

Info

NOJ

Provider NOJ

Code NOJ1187

Tags

Submitted 0

Passed 0

AC Rate 0%

Date 04/20/2019 10:03:10

Related

Nothing Yet