2452: 麦克劳林用于函数求值
时间限制: 1 Sec 内存限制: 128 MB提交: 18 解决: 12
题目描述
泰勒公式是一个用函数在某点的信息描述其附近取值的公式。如果函数足够光滑的话,在已知函数在某一点的各阶导数值的情况之下,泰勒公式可以用这些导数值做系数构建一个多项式来近似函数在这一点的邻域中的值。函数的麦克劳林展开是泰勒公式的特殊形式,即泰勒公式中“某一点”取0的情况。下面是ex的麦克劳林展开式,据此求出多组ex的值。
精度要求:最后一项大于1e-7
输入
输入一个整数N,代表输入数据的组数,后随N行,每行一个小数,分别代表一个x
输出
输出N行,分别代表各行x对应的ex的值。输出精确到小数点后第7位。
样例输入
5
0
1
1.5
0.3
2.4
样例输出
1.0000000
2.7182818
4.4816890
1.3498588
11.0231763
提示
在C++中,cout<<setiosflags(ios::fixed)<<setprecision(7)<<y<<endl;输出的y值保留7位小数。
迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……
#include <iostream> #include <cstdio> #include <iomanip> using namespace std; int main() { int i,k,n; double x,ex,item; cin>>n; for(i=0; i<n; i++) { cin>>x; ex=1; item=x; k=1; while(item>1e-7) { ex=ex+item; k++; item=item*x/k; } cout<<setiosflags(ios::fixed)<<setprecision(7)<<ex<<endl; } return 0; }