<?php function get_rand($proArr) { $result = ''; //概率数组的总概率精度 $proSum = array_sum($proArr); //概率数组循环 foreach ($proArr as $key => $proCur) { $randNum = mt_rand(1, $proSum); if ($randNum <= $proCur) { $result = $key; break; } else { $proSum -= $proCur; } } unset ($proArr); return $result; }
상품 배열은 이 복권의 모든 상품 정보를 기록하는 2차원 배열로, id는 당첨 레벨, 상품은 상품, v는 당첨 확률을 나타냅니다. v는 정수여야 합니다. 해당 보상의 v를 0으로 설정할 수 있습니다. 이는 보상 획득 확률이 0임을 의미합니다. 배열(기본)에 있는 v의 합은 더 큽니다. 정확한 확률을 반영할 수 있습니다. 이 예에서 v의 합이 100이면 태블릿의 당첨 확률은 1%입니다. v의 합이 10,000이면 당첨 확률은 1/10000입니다. $proArr은 사전 설정된 배열입니다. 배열이 array(100,200,300,400)라고 가정합니다. 확률 범위 1,1000에서 첫 번째 숫자를 검사하여 발생 확률 범위 내에 있는지 확인합니다. 확률 공간은 k에서 방금 숫자를 뺀 값의 확률 공간입니다. 이 경우에는 마이너스 100이므로 두 번째 숫자가 1,900 범위 내에서 필터링된다는 의미입니다. 이런 식으로 심사가 끝날 때까지 항상 요구 사항을 충족하는 숫자가 있습니다. 이는 상자 안의 무언가를 만지는 것과 같습니다. 첫 번째 것도 없고, 두 번째도 없고, 세 번째도 없으면 마지막 것도 있어야 합니다. 이 알고리즘은 간단하고 매우 효율적입니다. 중요한 점은 이 알고리즘이 이전 프로젝트, 특히 대용량 데이터가 있는 프로젝트에 적용되었다는 것입니다.
이 사이트의 모든 리소스는 네티즌이 제공하거나 주요 다운로드 사이트에서 재인쇄되었습니다. 소프트웨어의 무결성을 직접 확인하십시오! 이 사이트의 모든 리소스는 학습 참고용으로만 사용됩니다. 상업적 목적으로 사용하지 마시기 바랍니다. 그렇지 않으면 모든 결과에 대한 책임은 귀하에게 있습니다! 침해가 있는 경우 당사에 연락하여 삭제하시기 바랍니다. 연락처: admin@php.cn
관련 기사
15 Jul 2022
이 기사에서는 Java에 대한 관련 지식을 제공하며, 도서관 관리 시스템의 기능 분석, IDEA에서 기능적 클래스 생성 및 사용자 관련 작업 수행을 포함하여 간단한 버전의 도서관 관리 시스템 구현과 관련된 문제를 주로 정리합니다. 처리과정 및 기타 내용을 살펴보시고 모든 분들께 도움이 되었으면 좋겠습니다.
04 Nov 2023
디지털 시대의 도래로 인해 전통적인 도서관 관리 방식은 더 이상 사람들의 요구를 충족시킬 수 없습니다. 컴퓨터 기술을 사용하면 도서관 관리의 효율성과 정확성이 크게 향상될 수 있습니다. 이 기사에서는 Java를 사용하여 간단한 라이브러리 관리 시스템을 작성하는 방법을 자세히 설명합니다. 1. 요구사항 분석 도서관 관리 시스템 작성을 시작하기 전에 요구사항을 분석해야 합니다. 구현해야 할 기능은 다음과 같습니다. 1) 도서 추가: 도서명, 저자, 출판사, 가격 및 기타 정보를 입력합니다. 2) 도서 삭제 : 도서에 따라
21 Jun 2023
디지털 시대가 도래하면서 도서관은 점차적으로 전통적인 종이 기반 관리에서 디지털 관리로 전환하면서 자체적인 디지털 변혁을 실현했습니다. 디지털 관리 과정에서 웹사이트 애플리케이션을 사용하여 도서관을 관리하는 것은 도서관이 도서, 대출 기록, 사용자 계정 및 기타 정보를 더 잘 관리하는 데 도움이 되므로 매우 인기 있는 방법이 되었습니다. Yii 프레임워크를 사용하여 도서관 웹사이트를 만드는 것은 매우 간단하고 효과적인 방법이 되었습니다. 이 글에서는 Yii 프레임워크를 사용하여 도서관 웹사이트를 만드는 방법을 소개합니다. 와이
27 Oct 2023
PHP 개발 실습: 온라인 도서관 플랫폼 구축 지속적인 기술 개발로 인해 전통적인 도서관 서비스 모델은 점차 디지털 및 온라인 도서관 플랫폼으로 대체되고 있습니다. 보다 편리하고 효율적인 도서관 서비스를 제공하고자 하는 기관이나 단체에게 온라인 도서관 플랫폼을 구축하는 것은 매우 효과적인 방법입니다. 이 기사에서는 PHP를 사용하여 모든 기능을 갖춘 사용자 친화적인 온라인 라이브러리 플랫폼을 개발하는 방법을 소개합니다. 1. 요구사항 분석 온라인 도서관 플랫폼을 구축하기 전에 먼저 플랫폼의 기능을 명확히 해야 합니다.
20 Sep 2023
MySQL과 Java를 사용하여 간단한 온라인 도서관 시스템을 개발하는 방법 소개: 인터넷의 인기와 발전으로 온라인 도서관 시스템은 현대 도서관 서비스의 중요한 부분이 되었습니다. MySQL 데이터베이스와 Java 프로그래밍 언어를 활용하여 간단하면서도 강력한 온라인 도서관 시스템을 개발할 수 있습니다. 이 글에서는 MySQL과 Java를 기반으로 온라인 도서관 시스템을 구축하고 구현하는 방법을 자세히 소개하고 관련 코드 예제를 제공합니다. 1단계: 데이터베이스 디자인 먼저, 설정해야 합니다.
27 Oct 2023
PHP Practice: 온라인 도서관 시스템 개발 기술의 발전과 국민 생활 수준의 향상으로 인해 온라인 도서관 시스템의 개발이 점점 더 중요해지고 있습니다. 온라인 도서관 시스템을 통해 이용자는 쉽게 도서를 열람하고 대출할 수 있으며, 관리자는 도서 대출 및 반납 관리도 쉽게 할 수 있습니다. 일반적으로 사용되는 서버측 스크립팅 언어인 PHP는 온라인 도서관 시스템 개발에 많은 편의성을 제공합니다. 이 기사에서는 PHP를 사용하여 간단하지만 완전한 기능을 갖춘 온라인 도서관 시스템을 개발하는 방법을 소개합니다. 먼저 데이터베이스를 설계해야 합니다.
Hot tools Tags
Hot Tools
종속성 주입 컨테이너용 PHP 라이브러리
종속성 주입 컨테이너용 PHP 라이브러리
50개의 뛰어난 클래식 PHP 알고리즘 모음
클래식 PHP 알고리즘, 훌륭한 아이디어를 배우고 사고력을 확장하세요
이미지 최적화를 위한 작은 PHP 라이브러리
이미지 최적화를 위한 작은 PHP 라이브러리