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;
}



posted on 2017-05-11 20:25  海岛Blog  阅读(593)  评论(0编辑  收藏  举报

导航