https://www.acmicpc.net/problem/26217
기댓값을 구하는 문제이다. 확률론을 배웠다면 쉽게 풀 수 있는 문제라고 생각한다.
N개의 꽃이 모두 피어나기 위한 기댓값은 베르누이 시행에서의 성공 횟수의 기댓값을 묻는 문제이다.
E = N(1+1/2+1/3+1/4+...+1/N) 으로 조화수열의 형태로 나온다.
위의 식을 간단히 코드로만 작성해주면 끝이다.
코드는 다음과 같다.
#include <iostream>
#include <algorithm>
using namespace std;
double harmonic(double n){
double sum = 0;
for(double i = 1; i < n+1; i++){
sum += 1/i;
}
return sum;
}
int main(void){
ios_base::sync_with_stdio(0);cin.tie(0); cout.tie(0);
double n, ans;
cin >> n;
ans = n * harmonic(n);
cout << ans;
return 0;
}
'📚알고리즘 > 백준' 카테고리의 다른 글
[백준 1932번] 정수 삼각형 (Python/파이썬) (0) | 2023.04.28 |
---|---|
[백준 1149번] RGB거리 (C++) (0) | 2023.04.27 |
[백준 16928번] 뱀과 사다리 게임 (Python/파이썬) (0) | 2023.04.22 |
[백준 1236번] 성 지키기 (Python/파이썬) (0) | 2023.04.09 |
[백준 9019번] DSLR (Python/파이썬) (0) | 2023.04.09 |