Randomizované

Vygenerujte 0 a 1 s 25% a 75% pravděpodobností
2026

Vygenerujte 0 a 1 s 25% a 75% pravděpodobností

Vzhledem k funkci rand50(), která vrací 0 nebo 1 se stejnou pravděpodobností, napište funkci, která vrací 1 se 75% pravděpodobností a 0 s 25% pravděpodobností pouze pomocí rand50(). Minimalizujte počet volání metody rand50(). Rovněž není povoleno použití jakékoli jiné funkce knihovny a aritmetiky s plovoucí desetinnou čárkou.

Implementujte rand3() pomocí rand2()
2026

Implementujte rand3() pomocí rand2()

Vzhledem k funkci rand2(), která vrací 0 nebo 1 se stejnou pravděpodobností, implementujte rand3() pomocí rand2(), která vrací 0, 1 nebo 2 se stejnou pravděpodobností. Minimalizujte počet volání metody rand2(). Rovněž není povoleno použití jakékoli jiné funkce knihovny a aritmetiky s pohyblivou řádovou čárkou.

Implementujte rand12() pomocí rand6() v jednom řádku
2026

Implementujte rand12() pomocí rand6() v jednom řádku

Vzhledem k funkci rand6(), která vrací náhodná čísla od 1 do 6 se stejnou pravděpodobností, implementujte jednořádkovou funkci rand12() pomocí rand6(), která vrací náhodná čísla od 1 do 12 se stejnou pravděpodobností. Řešení by mělo minimalizovat počet volání metody rand6(). Použití jakékoli jiné funkce knihovny a aritmetiky s pohyblivou řádovou čárkou není povoleno.