목차
回复讨论(解决方案)
백엔드 개발 PHP 튜토리얼 根据人数随机分配百分比的问题

根据人数随机分配百分比的问题

Jun 23, 2016 pm 01:50 PM
인원수 분배하다 백분율 무작위의

需求是这样的,根据可变参数 $people 来给每个人随机分配百分比,条件是人数一定会控制在 3 
写了个简单的分配,但会出现最后一个人会得到很多的情况,并且由于分配区间实际上是 1 - 平均数 之间的百分比,不是严格意义上的 “随机平均分配”,求各位大大给个思路,抛砖引玉,不甚感谢。

$people = 3;     //人数        $percent = 100;   //百分比        $average = floor($percent/$people);        $rand_array = array();        $count = 0;        for ($i=0; $i < $n; $i++) {            if($i == ($n - 1)){                $rand_array[$i] = 100 - $count;            }else{                $rand_array[$i] = rand(1,$average);                $count = $count + $rand_array[$i];             }        }        return $rand_array;
로그인 후 복사


回复讨论(解决方案)

这样可能好点

$people = 3;    //人数$percent = 100; //百分比$res = array_fill(0, 3, floor($percent/$people)); //平均分配$d = 5; //容差foreach($res as &$v) $v += rand(-$d, $d);$res[rand(0, $people-1)] += $percent - array_sum($res); //随机将残差补入print_r($res);
로그인 후 복사

忘记上来结贴了,感谢版主大大的回复,问题已经解决了,贴出来与大家分享:

public static function rand_bouns($person){		//百分比		$percent = 100;		$now_person = $person;		$bouns = array();		for($i=0;$i<=$person-1;$i++){			$bouns[$i] = self::get_bouns($now_person,$percent);			$percent = $percent - $bouns[$i];			$now_person = $now_person - 1;			$now_bouns += $bouns[$i];		}		return $bouns;			}public static function get_bouns($person,$percent){		if($person==1) return $percent;		$max = 30;		if($percent < $max)  $max = $percent;		$min = $percent-$max*($person-1) <= 0 ? 1 : $percent-$max*($person-1);		$max = $max-($person) <= 0 ? 1 : $max-($person);		return rand($min,$max);	}
로그인 후 복사

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

JavaScript에서 난수 및 문자열 생성 JavaScript에서 난수 및 문자열 생성 Sep 02, 2023 am 08:57 AM

난수 또는 영숫자 문자열을 생성하는 기능은 많은 상황에서 유용합니다. 이를 사용하여 게임의 다양한 위치에 적이나 음식을 생성할 수 있습니다. 또한 이를 사용하여 사용자에게 임의의 비밀번호를 제안하거나 파일 이름을 만들어 파일을 저장할 수도 있습니다. 나는 PHP에서 임의의 영숫자 문자열을 생성하는 방법에 대한 튜토리얼을 작성했습니다. 나는 이 게시물의 시작 부분에서 실제로 무작위인 이벤트는 거의 없으며 난수나 문자열 생성에도 동일하게 적용된다고 말했습니다. 이 튜토리얼에서는 JavaScript에서 의사 난수 영숫자 문자열을 생성하는 방법을 보여 드리겠습니다. JavaScript에서 난수 생성하기 난수 생성부터 시작해 보겠습니다. 가장 먼저 떠오르는 메서드는 부동 소수점을 반환하는 Math.random()입니다.

Python에서 분수를 백분율로 변환하는 방법은 무엇입니까? Python에서 분수를 백분율로 변환하는 방법은 무엇입니까? Aug 25, 2023 pm 01:25 PM

분수와 백분율은 금융, 데이터 분석, 통계 등 다양한 분야에서 사용되는 두 가지 기본 수학 개념입니다. 분수를 백분율로 변환하는 것은 간단하지만 분수 값을 더 이해하기 쉬운 방식으로 표현할 수 있는 필수 작업입니다. 가장 널리 사용되는 프로그래밍 언어 중 하나인 Python은 분수를 백분율로 변환하는 여러 가지 방법을 제공하며 이러한 방법을 이해하는 것은 Python에서 데이터를 작업하는 모든 사람에게 중요합니다. 이 기사에서는 Python에서 분수를 백분율로 변환하는 방법을 자세히 살펴봅니다. 이를 수행하는 다양한 방법을 살펴보고 각 방법을 이해하는 데 도움이 되는 예를 제공하겠습니다. 당신이 초보자이든 숙련된 Python 프로그래머이든, 이 기사는 Python에서 이 작업을 수행하는 데 필요한 핵심을 제공합니다.

무작위와 의사 무작위의 차이점 무작위와 의사 무작위의 차이점 Oct 10, 2023 am 09:27 AM

무작위와 의사 무작위의 차이점은 예측 가능성, 재현성, 균일성 및 보안입니다. 세부 소개: 1. 예측 가능성. 난수는 예측할 수 없습니다. 과거의 결과를 알더라도, 의사 난수는 알고리즘과 알고리즘에 의해 생성되기 때문에 정확하게 예측할 수 없습니다. 2. 재현성, 난수는 재현할 수 없으며 매번 생성된 결과는 독립적인 반면 의사 난수는 재현할 수 있습니다. 예, 동일한 알고리즘과 시드 등을 사용하면 됩니다.

단어 빈도의 백분율을 구하는 Python 프로그램 단어 빈도의 백분율을 구하는 Python 프로그램 Sep 08, 2023 pm 06:29 PM

이 기사에서는 Python에서 단어 빈도를 백분율로 얻는 방법을 배웁니다. 문자열 입력 목록을 얻었다고 가정합니다. 이제 주어진 입력 문자열 목록에서 각 단어의 백분율을 찾습니다. (OccurrenceofXword/Totalwords)*100 수식은 sum(), Counter(), Join() 및 Split() 함수를 사용합니다. 운영자 모듈. 방법 1: sum(), Counter(), Join() 및 Split() 함수 사용 Join()은 Py입니다.

Python 2.x에서 Random.randint() 함수를 사용하여 임의의 정수를 생성하는 방법 Python 2.x에서 Random.randint() 함수를 사용하여 임의의 정수를 생성하는 방법 Jul 31, 2023 pm 12:13 PM

Python은 데이터 분석, 기계 학습, 웹 개발 및 기타 분야에서 널리 사용되는 인기 있는 프로그래밍 언어입니다. Python에서 Random 모듈은 임의의 정수를 생성하기 위한 random.randint() 함수를 제공합니다. 이 문서에서는 Random.randint() 함수를 사용하여 임의의 정수를 생성하는 방법을 설명하고 몇 가지 코드 예제를 제공합니다. 먼저, Random 모듈을 가져와야 합니다: importrandom 다음으로, rando를 호출할 수 있습니다.

Tencent의 회의 카메라에는 몇 명까지 허용되나요? Tencent의 회의 카메라에는 몇 명까지 허용되나요? Feb 28, 2024 pm 05:55 PM

Tencent 회의에서 사용자는 공유를 위해 자신의 카메라를 켤 수 있지만 카메라에는 최대 인원이 있습니다. 그러면 카메라에 들어갈 수 있는 최대 인원은 얼마입니까? 아래에서 편집자가 상한선을 소개하겠습니다. 텐센트 미팅 카메라의 인원 제한을 함께 알아볼까요? Tencent 회의 사용 튜토리얼: Tencent 회의 카메라의 최대 인원은 몇 명입니까? 답변: 최대 인원은 60명, 최소 인원은 30명입니다. 1. 카메라 수용 인원 제한 소개: 1. 컴퓨터는 카메라를 켤 수 있는 최대 60명을 수용할 수 있으며, 화면은 동시에 최대 9명 또는 25명을 수용할 수 있습니다. 2. 휴대폰은 최대 30명이 카메라를 켤 수 있으며, 한 화면에 최대 4명이 동시에 수용할 수 있습니다. 2. 영상 개수 상한을 늘리는 방법: 1. 참가자가 너무 많을 경우 최대 30명이 동시에 카메라를 켤 수 있습니다. 2. 계정 아바타 인터페이스를 사용하여 다음을 수행할 수 있습니다.

리눅스 top 명령어에 대한 자세한 설명 리눅스 top 명령어에 대한 자세한 설명 Feb 20, 2024 am 09:20 AM

1을 누르면 각 CPU의 사용량을 볼 수 있습니다. 실행 시간은 현재 로그인한 사용자입니다. 로드 평균 데이터는 활성 프로세스 수를 확인합니다. 5초마다 값을 계산합니다. 논리 CPU 수로 나눈 값이 5를 초과하면 시스템이 과부하됩니다. 두 번째 줄에는 총 248개의 프로세스가 있습니다. 1개는 실행 중, 247개는 휴면, 0개는 중지됨, 0개는 좀비 프로세스입니다. 세 번째 줄 us(userspace): 사용자 공간 sy(sysctl)가 차지하는 CPU 비율입니다. 커널 공간 ni() - 우선 순위를 변경한 프로세스가 차지하는 CPU 비율 id(idolt): 유휴 CPU 비율 wa(wait): IO 대기 점유 CP

iPhone에서 배터리 비율 표시를 활성화하는 방법은 무엇입니까? iPhone에서 배터리 비율 표시를 활성화하는 방법은 무엇입니까? May 08, 2023 pm 12:07 PM

iPhone에서 배터리 백분율을 표시하는 방법 이전에는 남은 배터리 전원의 정확한 백분율을 확인하려면 아래로 밀어 제어 센터를 열어야 했습니다. 그러나 잠금 화면 상단 가장자리에서 정확한 배터리 비율을 볼 수 있는 옵션이 다시 제공됩니다. iPhone에 배터리 비율을 표시하려면 iPhone 홈 화면에서 설정 앱을 엽니다. 설정 메뉴를 아래로 스와이프하고 목록에서 배터리를 탭합니다. 그런 다음 배터리 비율 버튼을 켜짐 위치로 전환합니다. 마지막으로 화면 오른쪽 상단에 있는 배터리 아이콘 위에 남은 전력의 정확한 비율이 표시됩니다. 이 기능이 활성화되면 잠금 화면, 홈 화면 및 대부분의 앱을 탐색할 때 백분율 숫자가 나타납니다. 배터리 비율을 볼 수 없나요? 당신이 보지 못한다면

See all articles