一、
自然常数 e 可以用级数 1+1/1!+1/2!+⋯+1/n!+⋯ 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和。
输入格式:
输入第一行中给出非负整数 n(≤1000)。
输出格式:
在一行中输出部分和的值,保留小数点后八位。
输入样例:
10
输出样例:
2.71828180
说一个需要注意的点就是在解决与阶乘有关的问题的时候一定要注意变量类型所能表示的范围
具体提示见代码注释,其实阶乘可以用一个函数来写,但也要注意范围
#include<stdio.h>
#include<math.h>
int main()
{
int i,n;
double s1,s,item=1;//这里的 s 一定不可以定义为整型
scanf("%d",&n);
if(n==0)printf("1.00000000");
else if(n==1)printf("2.00000000");
else
{
s1=2.0;
for( i=2;i<=n;i++)
{
s=0;
item=item*i;
s+=item;
s1=s1+1.0/s;
}
prin