POJ NOI0105-35 求出e的值
- 问题链接:POJ NOI0105-35 求出e的值。
 
- 
 
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
- 利用公式e = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n! 求e 。
- 输入
- 输入只有一行,该行包含一个整数n(2<=n<=15),表示计算e时累加到1/n!。
- 输出
- 输出只有一行,该行包含计算出来的e的值,要求打印小数点后10位。
- 样例输入
- 
10 
- 样例输出
- 
2.7182818011 
- 提示
- 1、e以及n!用double表示
 
 2、要输出浮点数、双精度数小数点后10位数字,可以用下面这种形式:
 
 printf("%.10f", num);
- 来源
- 2005~2006医学部计算概论期末考试
问题分析
一个简单的迭代计算,要注意的是程序要尽量简洁,计算少。
程序说明
  输出格式是个要点,用C语言的输出格式通常要简单一些,C++也有自己的一套,估计能记住的人少之又少。
参考链接:(略)
AC的C++语言程序:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    int n;
    double e, fact;
    cin >> n;
    e = 1.0;
    fact = 1.0;
    for(int i=1; i<=n; i++) {
        fact /= i;
        e += fact;
    }
    cout << fixed << setprecision(10) << e << endl;
    return 0;
}
 
                    
                     
                    
                 
                    
                 
                
            
         
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号