Randomizzato

Genera 0 e 1 con una probabilità del 25% e del 75%.
2026

Genera 0 e 1 con una probabilità del 25% e del 75%.

Data una funzione rand50() che restituisce 0 o 1 con uguale probabilità, scrivere una funzione che restituisce 1 con il 75% di probabilità e 0 con il 25% di probabilità utilizzando solo rand50(). Ridurre al minimo il numero di chiamate al metodo rand50(). Inoltre, non è consentito l'uso di qualsiasi altra funzione di libreria e di aritmetica in virgola mobile.

Implementa rand3() utilizzando rand2()
2026

Implementa rand3() utilizzando rand2()

Data una funzione rand2() che restituisce 0 o 1 con uguale probabilità, implementa rand3() utilizzando rand2() che restituisce 0, 1 o 2 con uguale probabilità. Ridurre al minimo il numero di chiamate al metodo rand2(). Inoltre, non è consentito l'uso di qualsiasi altra funzione di libreria e dell'aritmetica in virgola mobile.

Implementa rand12() utilizzando rand6() in una riga
2026

Implementa rand12() utilizzando rand6() in una riga

Data una funzione, rand6() che restituisce numeri casuali da 1 a 6 con uguale probabilità, implementa la funzione one-liner rand12() utilizzando rand6() che restituisce numeri casuali da 1 a 12 con uguale probabilità. La soluzione dovrebbe ridurre al minimo il numero di chiamate al metodo rand6(). Non è consentito l'uso di qualsiasi altra funzione di libreria e dell'aritmetica in virgola mobile.