[OC]C++计算e(自然常数)

自然常数,符号e,为数学中一个常数,是一个无限不循环小数,且为超越数,其值约为2.718281828459045。它是自然对数函数的底数。有时称它为欧拉数(Euler number),以瑞士数学家欧拉命名;也有个较鲜见的名字纳皮尔常数,以纪念苏格兰数学家约翰·纳皮尔(John Napier)引进对数。它就像圆周率π和虚数单位i,是数学中最重要的常数之一。

摘自秒懂百科


计算方式一:

e=1/0!+1/1!+1/2!+1/i-1!;

代码实现

#include
#define ll long long
using namespace std;
ll jc(ll n){//阶乘!,弊端是不用高精度仍然超市
	ll i,x=1;
	for(i=1;i<=n;i++){
		x*=i;
	}
	return x;
}
main() {
	double ans=0.0;
	ll n,i,j,k,x;
	cout<<"位数:";
	cin>>x;
	cout<<"精度:";
	cin>>n;
	//cout<

计算方法二

e=(1+1/n)^n

代码实现

#include
#define ll long long
using namespace std;
main() {
	double ans=1.0;
	ll n,i,j,k,x;
	cout<<"位数:";
	cin>>x;
	cout<<"精度:";
	cin>>n;
	//cout<

总结两种算法

算法1 算法2
复杂度 O(n^2) O(n)
数据程度 有阶乘,容易爆long long 一般情况下很大不会爆(<2^63)
结果精度 n较小也可以得到较为精确的值 n要很大才能得到精确值

你可能感兴趣的:(C++懒人套餐,算法,开发语言,c++)