2010-06-03 16 views
1

Existe-t-il une fonction d'échantillonnage aléatoire pour l'iPhone? Par exemple, si vous voulez retourner une pièce qui retourne des têtes 25% des fois où elle est retournée, et que vous voulez la retourner et voir si vous avez des têtes cette fois-ci? J'ai googlé pour la probabilité d'échantillonnage aléatoire pour l'iphone et je n'ai rien trouvé.Existe-t-il une fonction d'échantillonnage aléatoire pour le développement de l'iPhone qui peut simuler un tirage au sort?

+4

Quel est le problème avec la génération d'un nombre aléatoire entre 0 et 1 et de voir si elle est inférieure à 0,25? –

+0

Doit avoir mentionné que comme une réponse Tal –

Répondre

2

Puisque vous pouvez utiliser n'importe quelle fonction C standard dans Objective-C, vous pouvez utiliser drand48 pour obtenir un double aléatoire dans la plage [0,1]. Le succès avec la probabilité p est obtenu en testant si la valeur est < p. Ex:

if (drand48() < 0.25){ 
    // This branch will be executed 25% of the time 
} else { 
    // This branch will be executed 75% of the time 
} 
+0

J'ai fini par utiliser arc4random() à la place, mais c'est essentiellement ce que j'ai fait. Merci de votre aide. – William