"가중치 랜덤 구하기"의 두 판 사이의 차이

(새 문서: ==PHP== <source lang='php'> function weighted_random($weights) { $r = rand(1, array_sum($weights)); for($i=0; $i<count($weights); $i++) { $r -= $weights[$i]; if($r < 1) return...)
 
19번째 줄: 19번째 줄:
}
}
</source>
</source>
[[분류:랜덤]]
[[분류:PHP]]

2012년 1월 12일 (목) 09:09 판

PHP

function weighted_random($weights)
{
  $r = rand(1, array_sum($weights));
  for($i=0; $i<count($weights); $i++) {
  $r -= $weights[$i];
  if($r < 1) return $i;
  }
  return false;
}

$values = array('a','b','c');
$weights = array(10,20,70);
for($i=0;$i<1000;$i++)
{
  $index = weighted_random($weights);
  echo "<br/>".$values[$index];
}
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}