반갑다 계획적인 벽붕이들아
이번 건조에 뛰어들기에 내 큐브는 충분한가? 에 대한 고찰이다

이번 섬란 카구라 이벤트에서, 건조로만 획득할 수 있는 함순이는 넷이다.
아스카(2%), 후부키(2%), 유라(2%), 유우야키(2.5%)
2:30:00  2:38:20 2:33:20 2:30:00

몇번 건조를 해야 이 넷을 모두 얻을 수 있을까?

수학적으로 계산은 못하겠고, 컴한테 시키기로 했다.
식세우려다 실패해서 그런건 아니다. 아닌줄 알아라

import random
def run_simulation():
    T = 0
#n회 시행 중 올클한 횟수
    F = 0
#n회 시행 중 올클에 실패한 횟수
    for _ in range(n):
#n에는 대충 10000쯤 집어넣으면 된다.
        result_dict = {'A': 0, 'B': 0, 'C': 0, 'D':0, 'E': 0}
#A, B, C, D, E가 각각 몇번 나왔는가
        for _ in range(m):
#m에는 (이번 이벤트에 투자할 큐브의 개수)/2를 넣으면 된다.
            outcome = random.choices(['A', 'B', 'C', 'D', 'E'], [0.02, 0.02, 0.02, 0.025, 0.915])[0]
#각각의 확률이다. A는 아스카, B는 후부키, C는 유라, D는 유우야키, E는 나머지'''
            result_dict[outcome] += 1
        if result_dict['A'] > 0 and result_dict['B'] > 0 and result_dict['C'] > 0 and result_dict['D'] > 0:
#m번 시행해서 얻은 dictionary 안에서 A, B, C, D가 모두 0보다 크다면'''
            T +=1
#올클 성공 횟수에 1을 더한다
        else:
#그렇지 않다면'''
            F +=1
#올클 실패 횟수에 1을 더한다.'
    print(f'T: {T}, F: {F}')
run_simulation()



여기서 n은 대충 통계적으로 의미를 가질만한 수를 집어넣는다
100000을 집어넣기로 했다.
m은 투자할 큐브갯수의 절반, 즉 건조 돌릴 횟수를 말한다.

그러면 이것마저 귀찮은 벽붕이들을 위해 시행해보자
10회 뭐 이딴건 계산 안한다
50, 75, 100, 150, 200, 250, 300 여기까지 볼거다

일일 3건조의 경우, 이벤트 막날까지 해서 15일, 총 45번의 기회가 있다.

일일 3건조 (90)
성공: 13720 실패: 86280
대략 13.7%

50회(100)
성공: 17923 실패: 82077
여러번 해보니까 18%좀 안된다
17~18%

75회 (150)
성공: 40049 실패: 59951
여러번 해보니까 40%정도다
40%

25회 더 했을뿐인데 확률이 크게 상승했다.

100회(200)
성공: 60019 실패: 39981
대충 60%

150회 (300)
성공: 84322 실패: 15678
여러번 해보니까 대충 85%좀 안나오더라

200회 (400) -1천장
성공: 94054 실패: 5946
95%각인가 했는데 94%다
94%

250회 (500)
성공: 97832 실패: 2168
성공확률이 98%가까이 된다.
97.8%

300회
성공: 99269 실패: 731
성공확률이 99%를 넘었다
99.3%

이를 python 그래프를 이용해서 나타내보면

이런 형태가 나온다는것을 알 수 있다

올클할려면 150뽑은 할 각오를 하고 들어가도록 해라
연말 무딱 생각하고...
한 700개 있으면 지금 콜라보 건조에 뛰어들어도 괜찮을것같다

50%가 언제냐고?
89뽑이
성공 51025 실패 48975
87뽑이
성공 50104 실패 49896
86뽑이
성공 48930 실패 51070
니까 대충 87뽑이 50%라 보면 된다.