총 3일간 질문에 답하여 재료를 얻는 활동이 진행됩니다.
4가지 재료 1, 2, 3, 4. 재료 4는 희소한 재료입니다.
질문에 정답을 맞추시면 재료 4가 첫날에는 나오지 않고, 둘째 날에는 재료 4가 50개 이상 나오지 않습니다. 재료 4는 200개 이하입니다. (당첨자 명단은 200명(내)로 제한되어 있기 때문입니다
재료 4를 획득한 플레이어는 이전에 1, 2, 3을 수집해야 상품을 받을 수 있습니다
재료 할당 알고리즘을 가장 잘 작성하는 방법은 무엇입니까?
이것은 징예푸의 플레이 방식에 지나지 않습니다. 123개는 마음대로 주셔도 되는데, 수량을 제한할 필요 없이 4개만 조절하시면 됩니다. 첫날에는 3개의 상품이 있었고, 다음 이틀 동안에는 4개의 상품이 있었습니다. 추첨에서는 4개를 추첨하여 당일 한도를 초과했는지 확인하고, 초과하는 경우 1, 2, 3 중 하나를 무작위로 반환합니다.
이런 일은 해본 적이 없지만 개인적인 생각을 말씀드릴 수 있습니다
복권의 사용자 수와 각 재료(비재료 4)의 데이터를 결정할 수 없기 때문에
재료 4의 두 번째 쌍이 표시됩니다, 그리고 첫날에는 나오지 않습니다. 둘째 날에는 50개 이상, 이벤트 종료 시에는 200개 이상 나오지 않습니다
그래서 재료 4의 확률은 재료 1, 2, 3과 분리됩니다. 재료 4의 확률이 계산되지 않으면 1, 2, 3을 계산합니다(직접 난수를 사용해도 괜찮습니다)
변수에는
총 4개의 자료 수, 활동 시작 시간, 종료 시간, 현재 시간, 둘째 날에 표시되는 4개의 자료 수 및 추출된 코드가 포함됩니다
코드
첫 번째 날인지 판단하세요
예, 4번 재료의 확률은 0, 무작위로 123을 할당
아니요, 두 번째 날인지 판단하세요
예, 추첨된 재료 4의 총 개수가 50개를 초과하는지 여부를 판단합니다. 예, 직접 무작위로 123을 할당하고, 그렇지 않은 경우 재료 4의 확률을 계산합니다. 재료 4의 확률은 분자로 남은 총 재료 4 수와 분모로 현재 총 추첨 수를 기반으로 할 수 있습니다. 분모가 너무 낮아지는 것을 방지하기 위해 최소값을 설정해야 합니다. 재료 4를 계산할 수 없으면 무작위로 할당된 재료 123
이 첫 번째 또는 두 번째 날이 세 번째 날과 유사합니다. 둘째날 계산