25%와 75% 확률로 0과 1을 생성합니다.
동일한 확률로 0 또는 1을 반환하는 함수 rand50()이 주어지면 rand50()만을 사용하여 75% 확률로 1을 반환하고 25% 확률로 0을 반환하는 함수를 작성하세요. rand50() 메서드에 대한 호출 수를 최소화합니다. 또한, 다른 라이브러리 함수 및 부동 소수점 연산의 사용은 허용되지 않습니다.
동일한 확률로 0 또는 1을 반환하는 함수 rand50()이 주어지면 rand50()만을 사용하여 75% 확률로 1을 반환하고 25% 확률로 0을 반환하는 함수를 작성하세요. rand50() 메서드에 대한 호출 수를 최소화합니다. 또한, 다른 라이브러리 함수 및 부동 소수점 연산의 사용은 허용되지 않습니다.
동일한 확률로 0 또는 1을 반환하는 함수 rand2()가 주어지면 동일한 확률로 0, 1 또는 2를 반환하는 rand2()를 사용하여 rand3()를 구현합니다. rand2() 메서드 호출 횟수를 최소화하세요. 또한, 다른 라이브러리 함수 및 부동 소수점 연산의 사용은 허용되지 않습니다.
1부터 6까지의 난수를 동일한 확률로 반환하는 함수 rand6()이 주어지면 1부터 12까지의 난수를 동일한 확률로 반환하는 rand6()을 사용하여 단일 라이너 함수 rand12()를 구현합니다. 솔루션은 rand6() 메서드에 대한 호출 수를 최소화해야 합니다. 다른 라이브러리 함수 및 부동 소수점 연산을 사용할 수 없습니다.
정수 배열이 주어지면 배열에서 가장 많이 발생하는 요소를 찾고 해당 인덱스 중 하나를 동일한 확률로 무작위로 반환합니다.예: