luogu#P5240. Derivation
Derivation
题目描述
小 R 学会微积分中求导这一概念后,他的数学老师要求他开始做一部分导数的练习题加深自己的理解。
但颖悟绝伦的小 R 对繁复的练习题并不感兴趣。他希望你帮他设计一个程序,计算一个给定函数 的导数。
如果你对导数这一概念并不熟悉,请参阅【说明】中的内容。
输入格式
第一行一个正整数 ,表示小 R 要完成的练习题数量,亦即测试数据的组数。
每组测试数据的第一行是一个非空字符串,描述了输入的函数 。设 。
字符串中可能包含的元素有:
- 系数为 的单项式,包括 等,我们保证指数为非负整数(为 时不省略)且不超过 。所有幂号用
^
代替。 - 常数,如 等;我们保证一切常数是非负整数且不超过 。
- 复合函数。将以上两种函数组合的方式可以为加乘幂,括号等。数学中会省略乘号和括号,但我们保证任意情况下都不省略(也不会无意义冗余,即不存在
((x)),(3)+(4)
);保证任何指数都是常数,即不存在 的情况。
经过以上规定,我们发现 求导后一定是一个多项式函数。如果你对数据的输入形式仍有不确定,可以观察附加样例文件。
由于输出这样的函数存在技术困难,为确认你的输出是正确的,测试数据的第二行为两个整数,值在 之间。你需要输出两个整数,表示这些整数代入导函数后的值模 的结果。
注意:本题中认为 。
输出格式
输出 行,每行两个整数,已在【输入格式】中说明它们的意义。
4
x
0 1
9
0 1
x*(x^(1*8))
0 1
(3*(x^3))+((2*(x^2))+(12*x))
0 1
1 1
0 0
0 9
12 25
提示
规定字符串长度不超过 ,字符串总长不超过 。
子任务编号 | 特殊性质 | 分值 |
---|---|---|
1 | ,字符串长度不超过 ,出现的常数不超过 | 20 |
2 | ,输入是一个化简后的多项式 | 15 |
3 | ,出现的常数不超过 | |
4 | ,不存在多项式求幂 | 20 |
5 | 30 |
我们提供了 5 个附加样例文件,分别满足 5 个子任务的限制。
链接: https://pan.baidu.com/s/1dVSy8tU3pqGoq1-7CFYtBw 提取码: ya2u
我们只保证以下定义在本题中适用。
的导数是一个函数 ,满足:
$$\displaystyle \lim_{h \to 0} f'(x)=\dfrac{f(x+h)-f(x)}{h} $$我们称 当且仅当对于任何实数 我们都可以找到一个实数 使得 若 。
你可能用到以下的求导公式:
- ,其中 是一常数。
- ,其中 为非 常数。