TB椰程 TypeBuddy 打字搭子

【例28.2】 求出e的值

C++语法 · 循环结构 · 代码 · cpp · 难度 3/5 · 共 456 字

用阶乘倒数累加求 e,保留 10 位小数

  • C++语法
  • 例题

正文

// 原题:https://oj.yecheng.tv/p/P168
// 题意:e = 1 + 1/1! + 1/2! + ... + 1/n!,
//       输出保留 10 位小数。
// 思路:不必每次重算阶乘,
//       用一个变量边乘边更新 n!。
#include <iostream>
#include <iomanip>
using namespace std;

int main() {
    int n;
    cin >> n;
    double e = 1.0;
    double fact = 1.0;
    for (int i = 1; i <= n; i++) {
        // 在上一轮阶乘基础上乘 i
        fact *= i;
        e += 1.0 / fact;
    }
    cout << fixed << setprecision(10) << e << endl;
    return 0;
}

C++语法 · 循环结构的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK