Problem1057--求出e的值

1057: 求出e的值

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 28  Solved: 19
[Submit] [Status] [Web Board] [Creator:]

Description

利用公式e = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n! 求e

Input

输入只有一行,该行包含一个整数n(2<=n<=15),表示计算e时累加到1/n!。

Output

输出只有一行,该行包含计算出来的e的值,要求打印小数点后10位。

Sample Input

10

Sample Output

2.7182818011

HINT

提示:
1、e以及n!用long double的类型,这样有效位数更多。

2、要输出浮点数、长双精度数小数点后10位数字,可以用下面这种形式:

printf("%.10Lf", num);   //long double类型的num值输出时要用Lf格式。

时间限制:1000ms
空间限制:128MByte


#include <iostream>
using namespace std;
int main()
{
 long double sum,t;
 int i,n;
 i=1;sum=1;t=1;
 cin>>n;
 while(i<=n)
 {
  sum=sum*i;
  t=t+1.0/sum;
  i++;
 }
 printf("%.10Lf",t);
 return 0; 
}

Source/Category


[Submit] [Status]