【问题描述】
已知ex的近似值可由下面公式计算得出:
ex=1 + x/1! + x2/2! + x3/3! + … + xn/n!
给定x和n,利用上述公式求得ex的近似值。
【输入输出格式】
【输入形式】
从控制台输入小数x,和整数n(n>=1),用空格隔开。
【输出形式】
向控制台输出求得的ex 的近似值(小数点后保留6位有效数据)。
【输入输出样例】
【样例输入】
7 27
【样例输出】
1096.633156
【样例说明】
输入的x为7,n的值为27,即:求e7的近似值,利用上述公式求得的近似值为:1096.633156。
【评分标准】
该题要求输出ex的近似值,共有5个测试点。上传C语言文件名为formula.c。
不多解释,注意数据范围(可能目标数字很大)。
关于输出几位小数,这里提供两种写法
这是格式化输入输出的写法:
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int n;
double sum=1,x,jc=1;
scanf("%lf%d",&x,&n);
for(int i=1;i<=n;i++)
{
jc*=i;
sum+=pow(x,i)/jc;
}
printf("%.6f\n",sum);
}
这是cin和cout写法
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
int main()
{
int n;
double sum=1,x,jc=1;
cin>>x>>n;
for(int i=1;i<=n;i++)
{
jc*=i;
sum+=pow(x,i)/jc;
}
cout<<setprecision(6)<<fixed<<sum<<endl;
}
感谢粉丝用户“我叫皮皮.”指出错误。如果还有其他错误,请在评论区留言指出;如果有什么意见和建议,也欢迎在评论区留言。