https://www.acmicpc.net/problem/6376
6376번: e 계산
아래 결과와 같은 형식으로 e의 근사값을 n = 0부터 9까지 출력한다.
www.acmicpc.net
🔔 문제 :
e의 근사값을 n=0부터 9까지 출력하는 문제입니다.
출력 값으로
n e
- -----------
0 1
1 2
2 2.5
3 2.666666667
4 2.708333333
...
9까지 나옵니다.
🔔 Kick Point :
출력방식이 되게 애매해서, 애를 먹었습니다.
0, 1, 2번째는 0이 없으면서 8번째는 0이 있어야 하더라구요
결론적으로 출력을
1
2
2.5
2.666666667
2.708333333
2.716666667
2.718055556
2.718253968
2.718278770
2.718281526
이런 순서로 해야한다고 합니다.
🔔 Code :
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
cout << "n e" << '\n' << "- -----------" << '\n';
double arr[10];
arr[0] = 1;
for (int k = 1; k < 10; k++) {
double tmp(1);
for (double i = 1; i <= k; i++) {
tmp *= i;
}
arr[k] = arr[k - 1] + (1 / tmp);
}
for (int i = 0; i < 10; i++) {
cout << setprecision(10);
if (i == 8) {
cout << i << ' ' << "2.718278770" << '\n';
continue;
}
cout << i << ' ' << arr[i] << '\n';
}
}