본문 바로가기

Algorithm

(C++) - 백준(BOJ) 6376번 : e계산

반응형

https://www.acmicpc.net/problem/6376

 

6376번: e 계산

문제 e는 \[e=\sum_{i=0}^{n} {\frac{1}{i!}}\] 이다. 여기서 n은 무한대이다. 매우 작은 n에 대해서, e의 근사값을 구해보자. 출력 아래 결과와 같은 형식으로 e의 근사값을 n = 0부터 9까지 출력한다.  예제 입력 1 복사 예제 출력 1 복사 n e - ----------- 0 1 1 2 2 2.5 3 2.666666667 4 2.708333333...

www.acmicpc.net

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
using namespace std;
 
double fac(int n)
{
    double f = 1;
    for (double i = 2; i <= n; i++)
        f *= i;
    return f;
}
int main() {
    double ans = 1;
 
    cout << "n e\n" << "- -----------" << '\n' << "0 1\n";
    for (int i = 1; i <= 9; i++)
    {
        cout << i << ' ';
        ans += 1 / fac(i);
        if (i == 1printf("%d\n",2);
        else if (i == 2printf("2.5\n");
        else printf("%.9f\n", ans);
    }
}
cs