BOJ: 6376 e 계산

최대 1 분 소요

문제

\(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


코드

#include <bits/stdc++.h>

using namespace std;

double factorial(int i) {

    if(i == 0)
        return 1;

    return i*factorial(i-1);
}

int main(void) {
    double sum;

    cout<<'n'<<' '<<'e'<<'\n';
    cout<<'-'<<' '<<"-----------"<<'\n';

    for(int n=0; n<10; n++) {
        sum = 0;

        cout<<n<<' ';

        for(int i=0; i<=n; i++)
            sum += (1/factorial(i));

        if(n > 2)
            cout<<setprecision(9)<<fixed<<sum<<'\n';
        else
            cout<<sum<<'\n';
    }
        
    return 0;
}

Reference

BOJ

태그:

카테고리:

업데이트:

댓글남기기