간단한 수학적 계산을 요구하는 문제다.
출처:
https://www.acmicpc.net/problem/26217
n=int(input())
answer=0
for i in range(1,n+1):
answer+=(n/i)
print(answer)
정답 코드입니다.
예제 2번 밑의 부연설명과 같게,
씨앗의 개수가 n개라면,
당연히 1회차에는 n개 중 1개의 씨앗을 뿌리는 확률은 1 (n/n)입니다.
2회차에는 1회차에 뿌린 씨앗이 아닌 다른 씨앗을 뿌려야 하기에, 이에 대한 확률은 (n-1)/n입니다.
그렇기에 위 수의 역수인 n/(n-1)개의 씨앗을 뿌려야 합니다.
위와 같은 방식으로 확률들의 역수들을 더해주면 됩니다.
'Computer Science > Algorithm' 카테고리의 다른 글
BOJ 9663: N-Queen [Python 3] (0) | 2022.12.22 |
---|---|
BOJ 26092: 수학적인 최소 공통 조상 [Python 3] (0) | 2022.12.21 |
BOJ 11286: 절댓값 힙 [Python 3] (0) | 2022.12.15 |
[Python 3] BOJ 15686 치킨 배달 (0) | 2022.12.15 |
BOJ 16987: 계란으로 계란치기 [Python 3] (0) | 2022.11.23 |