[연재3] 로또 - 확률에 확률 높이기 > 자유게시판

자유게시판

[연재3] 로또 - 확률에 확률 높이기 정보

[연재3] 로또 - 확률에 확률 높이기

본문

예제 : http://gnu.pe.hu/lotto2.php

 

2장 사면 두배, 3장사면 3배 보다 더 확률이 높겠냐만은 확률 높은 숫자를 뽑아

유니크한 숫자군을 다시 확률 높게 뽑아 소팅하자

 

<?

 

echo '[예제3]<p>';

 

// 45개의 각 숫자를 확률로 표시

$arr = Array(

10, 5, 10, 7, 5, 10, 2, 2, 2, 2,

10, 5, 5, 7, 5, 10, 2, 2, 2, 2,

10, 5, 5, 7, 5, 10, 2, 2, 2, 2,

10, 5, 5, 7, 5, 10, 2, 2, 2, 2,

10, 5, 5, 7, 10

);

 

$arr2 = Array();

foreach($arr as $key => $value)

{

for($i=0; $i<$value; $i++)

{

$arr2[] = $key + 1;

}

}

 

/*

 

// _unique($arr2) 를 하면 확률에 의한 유니크 숫자가

print_r(_unique($arr2));

 

// 이렇게 표시

Array

(

    [0] => 5

    [1] => 8

    [2] => 12

    [3] => 18

    [4] => 41

    [5] => 43

)

*/

 

$limit = 1000; // 유니크한 로또번호 개수

$maxs = 10; // 최종 가져올 로또번호 개수

 

$arr3 = Array();

for($k=0; $k<$limit; $k++)

$arr3[] = implode(',', _unique($arr2));

 

echo '확률만큼 유니크한 로또 보이기 '. number_format($limit) .'개 ($limit 는 많을 수록 좋다.) <p>';

 

// 중복된 값만

$arr3 = array_count_values($arr3);

// 배열을 내림차순 정렬하고 인덱스의 상관관계를 유지

arsort($arr3);

 

// maxs 개만 가져오기

$arr3 = array_slice($arr3, 0, $maxs);

print_r($arr3);

 

echo '<p><b>최종 로또 ' . $maxs . '개 값</b></p>';

 

$j = 0;

foreach($arr3 as $key => $value)

{

echo '<p><b>' . ++$j .'.</b> ' .  $key . '</p>';

}

 

echo '<hr />';

 

echo '[예제4]<p>';

// 확률로 보는 배열들

print_r($arr2);

 

 

// 유니크한 번호

function _unique($a) {

shuffle($a);

$a = array_unique($a);

array_splice($a, 6);

sort($a);

 

return $a;

}

 

?>

 

다음연재 : 실제 당첨된 로또 번호로 마무리

추천
0

댓글 0개

전체 505 |RSS
자유게시판 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT