случайная вероятность

Статус
В этой теме нельзя размещать новые ответы.

domino

Новичок
случайная вероятность

помогите придумать алгоритм, который гарантированно генерирует false в 999 случаев и в 1 случае true.

проблема в том, чтобы это действительно была случайная вероятность, а не 999 раз отработать как false и тысячным показать тру.

или подскажите чего почитать на эту тему.

спасибо.
 

phprus

Moderator
Команда форума
Теория вероятностей тебе поможет.
А вообще ((mt_rand()/mt_getrandmax()) < 0.001), так как не смог вспомнить как называется часть тервера, где обсуждается вероятность попасть в часть отрезка.
 

С.

Продвинутый новичок
if (rand(1,1000)==1000)

Вот вам полказино уже и написано.
 

Splurov

Новичок
1.
PHP:
$values = array();
$wasTrue = false;
for ($i = 0; $i < 1000; $i++) {
  if (! $wasTrue && rand(0, 1) == 1) {
    $values[] = true;
    $wasTrue = true;
    continue;
  }
  $values[] = false;
}
2.
PHP:
$values = array(true);
for ($i = 1; $i < 1000; $i++) {
  $values[] = false;
}
shuffle($values);
? :)
 

domino

Новичок
Автор оригинала: С.
if (rand(1,1000)==1000)

Вот вам полказино уже и написано.
супер :)

-~{}~ 04.09.10 15:59:

Автор оригинала: Splurov
1.
PHP:
$values = array();
$wasTrue = false;
for ($i = 0; $i < 1000; $i++) {
  if (! $wasTrue && rand(0, 1) == 1) {
    $values[] = true;
    $wasTrue = true;
    continue;
  }
  $values[] = false;
}
2.
PHP:
$values = array(true);
for ($i = 1; $i < 1000; $i++) {
  $values[] = false;
}
shuffle($values);
? :)
не ) чуть выше элегантнее )) но всё равно спасибо. а я таки да - тормоз ))))

-~{}~ 04.09.10 15:59:

а как закрыть тему?
 

Adelf

Administrator
Команда форума
Wicked
Между прочим Splurov два таких привел :)
 

Wicked

Новичок
Adelf
я вижу... я просто не очень понял смысл... но если топикстартера устраивает, что true все равно может попасться 2 раза подряд или затеряться на 1998 итераций, то все ок.
 

domino

Новичок
Автор оригинала: newARTix
domino
ты хоть понял, чем варианты С. и Splurov отличаются?
это что такое? попытка хуями померяться? или намёк, что кроме тебя никто не умеет код читать?

-~{}~ 04.09.10 18:35:

Автор оригинала: Wicked
Adelf
я вижу... я просто не очень понял смысл... но если топикстартера устраивает, что true все равно может попасться 2 раза подряд или затеряться на 1998 итераций, то все ок.
устраивает. оч. простой и быстрый элегантный алгоритм. на достаточно больших значениях два раза не попадётся, а если один раз проскочит - для джекпота не беда ))
 

iceman

говнокодер
domino
твой вопрос прочиатали как - из 1000 случаев 999 - фолсе, а в 1 из 1000 - труе

код читать ты не умеешь => куй у тебя маленький xD
 

HraKK

Мудак
Команда форума
Быдло программист, что Вы с ним говорите.
 

HraKK

Мудак
Команда форума
Тема закрыта.

Создание тем с названиями из ЗАГЛАВНЫХ букв, с оскорбительным содержанием, нецензурными выражениями и др. запрещено правилами форума.
Правила форума: http://phpclub.ru/talk/announcement.php?s=&forumid=12
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху