C++:利用泰勒公式求e的x次方近似值

C++:利用泰勒公式求e的x次方近似值,第1张

C++:利用泰勒公式求e的x次方近似值

【问题描述】

已知的近似值可由下面公式计算得出:

=1 + x/1! + /2! + /3! + ...... +/n!
给定x和n,利用上述公式求得的近似值。

 【输入形式】

从控制台输入小数x,和整数n(n>=1),用空格隔开。

【输出形式】

向控制台输出求得的 的近似值(小数点后保留6位有效数据)。

【样例输入】

7   27

【样例输出】

1096.633156

【样例说明】

输入的x为7,n的值为27,即:求e7的近似值,利用上述公式求得的近似值为:1096.633156。

【源代码】

#include
#include
#include
using namespace std;

double factorial(int n)//定义一个求阶乘的函数
{
	double fac = 1;//此处用double不用int,int容量过小
	for (int i = 1; i <= n; i++)
	{
		fac = fac * i;
	}
	return fac;
}
int main()
{
	double x, e = 1;
	int n;//n需为整型变量,否则后面会计算误差
	cin >> x >> n;
	for (int i = 1; i <= n; i++)
	{
		e = e + pow(x, i) / factorial(i);//使用乘方pow函数,须包含头文件cmath
	}
	cout << fixed << setprecision(6) << e << endl;//setprecision保留小数,须头文件iomanip
    return 0;
}

其中使用了自己定义的求阶乘的函数factorial

double factorial(int n)
{
	double fac = 1;
	for (int i = 1; i <= n; i++)
	{
		fac = fac * i;
	}
	return fac;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4752227.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-08
下一篇 2022-11-08

发表评论

登录后才能评论

评论列表(0条)

保存