自然常数 e 可以用级数 1+1/1!+1/2!+⋯+1/n!+⋯ 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和。
输入格式:
输入第一行中给出非负整数 n(≤1000)。
输出格式:
在一行中输出部分和的值,保留小数点后八位。
输入样例:
10
输出样例:
2.71828180
# include <stdio.h>
int main()
{
//法1
int n;
double sum = 1;
scanf_s("%d", &n);
for (int i = 1; i <= n; i++)
{
int x = 1;
for (int j = 1; j <= i; j++)
{
x *= j;
}
sum += (1.0 / x);
}
printf("%.8lf", sum);
//法2
//int n;
//double sum = 1;
//scanf_s("%d", &n);
//int x = 1;
i的值加1时不需要每次都重新计算i的阶乘,直接拿阶乘(i-1)!的结果乘上i得到阶乘i!
//for (int i = 1; i <= n; i++)
//{
// x *= i;
// sum += (1.0 / x);
//}
//printf("%.8lf", sum);
return 0;
}