用c++求e的x次方,根据公式计算数值ex = 1 + x⼀1! + x2⼀2! + x3⼀3! + …

精确到5位
2025-03-20 08:56:18
推荐回答(5个)
回答1:

#include
#include
using namespace std;

long factorial (int ); //计算阶乘函数声明

int main()
{
int index=6;// 这个数字可以自己调,越大精度越高,不过最好不要超过15,太大了LONG类型装不下
int x;
double result=0; //存放结果
cout<<"请输入次方X;"<cin>>x;

for(int i=0;i<=index;i++)
{
long fac=factorial (i);
result +=static_cast(pow(x,i)/fac); //把结果强制转换乘DOUBLE类型
}

cout<<"e的"<system("pause"); //为了使你生成的EXE文件执行后能够暂停下来
return 0;
}

long factorial (int n ) // 外部函数,用来计算阶乘的
{
long fact=1;
for (int i=1;i<=n;i++)
fact*=i;
return fact;

}

VS 6.0下编译通过。。看懂方法就可以了

回答2:

算出行列式的值,再整理成只和x1+x2+x3,x1x2+x2x3+x3x1,,x1x2x3这三项有关的形式,利用三次方程韦达定理带入系数可求。

回答3:

用循环就可以了啊。
还有,你的问题没有说清楚,这是个无限计算的式子,你得给个精度限定。

回答4:

这个要看精度~~

精度不同,写法不一样

回答5:

不明白你的意思。