自然常数 e 可以用级数 1+1/1!+1/2!+⋯+1/n!+⋯ 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和。
输入格式:
输入第一行中给出非负整数 n(≤1000)。
输出格式:
在一行中输出部分和的值,保留小数点后八位。
输入样例:
10
结尾无空行
输出样例:
2.71828180
结尾无空行
代码:
#include <stdio.h>
int main()
{
int n;
int i;
double count = 1;
double sum = 1;
scanf("%d",&n);
for(i = 1;i < n+1;i++)
{
count *= i;
sum += (1.0 / count);
}
printf("%.8f",sum);
}
思路:
学会用循环实现阶乘。
注意:
在记录阶乘值时注意数值溢出,因为题目已经超出了整形,最简单的方法是要使用双精度(双精度比较大,不容易溢出)。
还有题目中要求保留小数点后八位,则必须要用double双精度来实现。