题目:求e的值。给出e=1+1/1!+1/2!+1/3!+.......,最后一项的值小于1e-6.
分析思路:
题目中让求e的值,给出了公式,公式为分数阶乘的形式。阶乘跳出的条件为单项小于1e-6。因此需要对e的公式的每一项,进行遍历,跳出的条件为单项<1e-6,每一次都加进e的公式内。
注:先观察这个式子的构成。和的首项为1。从第二项开始,开始阶乘,因此阶乘的首项也为1。阶乘需要遍历,在遍历中写:正常阶乘的形式为xiang = xiang*i;分数阶乘则为xiang = xiang /i;
代码如下:
#include <stdio.h>
double jiecheng(double sum)
{
double xiang=1.0;
for(int i=1; xiang >= 1e-6; i++)
{
xiang = xiang/i;//也可以写成xiang = xiang * (1.0/i);
sum=sum+xiang;
}
return sum;
}
int main()
{
double e=1.0;
e=jiecheng(e);
printf("%f",e);
return 0;
}