Randomisé

Générez 0 et 1 avec une probabilité de 25 % et 75 %
2026

Générez 0 et 1 avec une probabilité de 25 % et 75 %

Étant donné une fonction rand50() qui renvoie 0 ou 1 avec une probabilité égale, écrivez une fonction qui renvoie 1 avec une probabilité de 75 % et 0 avec une probabilité de 25 % en utilisant uniquement rand50(). Minimisez le nombre d’appels à la méthode rand50(). De plus, l'utilisation de toute autre fonction de bibliothèque et de l'arithmétique à virgule flottante n'est pas autorisée.

Implémentez rand3() en utilisant rand2()
2026

Implémentez rand3() en utilisant rand2()

Étant donné une fonction rand2() qui renvoie 0 ou 1 avec une probabilité égale, implémentez rand3() en utilisant rand2() qui renvoie 0, 1 ou 2 avec une probabilité égale. Minimisez le nombre d’appels à la méthode rand2(). De plus, l'utilisation de toute autre fonction de bibliothèque et de l'arithmétique à virgule flottante n'est pas autorisée.

Implémentez rand12() en utilisant rand6() sur une seule ligne
2026

Implémentez rand12() en utilisant rand6() sur une seule ligne

Étant donné une fonction, rand6() qui renvoie des nombres aléatoires de 1 à 6 avec une probabilité égale, implémentez la fonction monoligne rand12() en utilisant rand6() qui renvoie des nombres aléatoires de 1 à 12 avec une probabilité égale. La solution doit minimiser le nombre d’appels à la méthode rand6(). L'utilisation de toute autre fonction de bibliothèque et l'arithmétique à virgule flottante ne sont pas autorisées.