Table des matières
回复讨论(解决方案)
Maison développement back-end tutoriel php 根据人数随机分配百分比的问题

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

Jun 23, 2016 pm 01:50 PM
Nombre de personnes distribuer 百分比 随机

需求是这样的,根据可变参数 $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;
Copier après la connexion


回复讨论(解决方案)

这样可能好点

$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);
Copier après la connexion

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

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);	}
Copier après la connexion

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Générer des nombres et des chaînes aléatoires en JavaScript Générer des nombres et des chaînes aléatoires en JavaScript Sep 02, 2023 am 08:57 AM

La possibilité de générer des nombres aléatoires ou des chaînes alphanumériques s'avère utile dans de nombreuses situations. Vous pouvez l'utiliser pour faire apparaître des ennemis ou de la nourriture à différents endroits du jeu. Vous pouvez également l'utiliser pour suggérer des mots de passe aléatoires aux utilisateurs ou créer des noms de fichiers pour enregistrer des fichiers. J'ai écrit un tutoriel sur la façon de générer des chaînes alphanumériques aléatoires en PHP. J'ai dit au début de cet article que peu d'événements sont véritablement aléatoires, et il en va de même pour la génération de nombres aléatoires ou de chaînes. Dans ce tutoriel, je vais vous montrer comment générer une chaîne alphanumérique pseudo-aléatoire en JavaScript. Générer des nombres aléatoires en JavaScript Commençons par générer des nombres aléatoires. La première méthode qui me vient à l’esprit est Math.random(), qui renvoie un float

La différence entre aléatoire et pseudo-aléatoire La différence entre aléatoire et pseudo-aléatoire Oct 10, 2023 am 09:27 AM

La différence entre aléatoire et pseudo-aléatoire réside dans la prévisibilité, la reproductibilité, l’uniformité et la sécurité. Introduction détaillée : 1. Prévisibilité. Les nombres aléatoires ne peuvent pas être prédits même si les résultats passés sont connus, les résultats futurs ne peuvent pas être prédits avec précision car ils sont générés par des algorithmes. seed, vous pouvez régénérer la même séquence ou séquence ; 2. Reproductibilité, les nombres aléatoires ne sont pas reproductibles et les résultats générés à chaque fois sont indépendants, tandis que les nombres pseudo-aléatoires sont reproductibles Oui, utilisez simplement le même algorithme et les mêmes graines, etc.

Comment convertir une fraction en pourcentage en Python ? Comment convertir une fraction en pourcentage en Python ? Aug 25, 2023 pm 01:25 PM

Les fractions et les pourcentages sont deux concepts mathématiques de base utilisés dans divers domaines tels que la finance, l'analyse de données et les statistiques. Convertir une fraction en pourcentage est une opération simple mais nécessaire qui nous permet de représenter les valeurs fractionnaires de manière plus compréhensible. Python, l'un des langages de programmation les plus populaires, propose plusieurs méthodes pour convertir des fractions en pourcentages, et la compréhension de ces méthodes est cruciale pour quiconque travaille avec des données en Python. Cet article examine en profondeur la conversion de fractions en pourcentages en Python. Nous explorerons différentes façons de procéder et fournirons des exemples pour vous aider à comprendre chaque méthode. Que vous soyez débutant ou programmeur Python expérimenté, cet article vous donne les clés pour réaliser cela en Python

Programme Python pour obtenir le pourcentage de fréquence des mots Programme Python pour obtenir le pourcentage de fréquence des mots Sep 08, 2023 pm 06:29 PM

Dans cet article, nous apprendrons comment obtenir la fréquence des mots en pourcentage en Python. Supposons que nous ayons obtenu une liste d’entrées de chaîne. Maintenant, nous trouverons le pourcentage de chaque mot dans la liste donnée de chaînes d’entrée. La méthode utilisée par la formule (OccurrenceofXword/Totalwords)*100 consiste à utiliser les fonctions sum(), Counter(), join() et split() pour utiliser les fonctions join(), split() et count() à utiliser la fonction countOf() du module opérateur. Méthode 1 : utilisez les fonctions sum(), Counter(), join() et split() join() est Py

Comment utiliser la fonction random.randint() pour générer des entiers aléatoires en Python 2.x Comment utiliser la fonction random.randint() pour générer des entiers aléatoires en Python 2.x Jul 31, 2023 pm 12:13 PM

Python est un langage de programmation populaire largement utilisé dans l'analyse de données, l'apprentissage automatique, le développement Web et d'autres domaines. En Python, le module random fournit une fonction random.randint() pour générer des entiers aléatoires. Cet article explique comment utiliser la fonction random.randint() pour générer des entiers aléatoires et fournit quelques exemples de code. Tout d’abord, nous devons importer le module random : importrandom Ensuite, nous pouvons appeler rando

Combien de personnes sont autorisées dans la caméra de conférence de Tencent ? Combien de personnes sont autorisées dans la caméra de conférence de Tencent ? Feb 28, 2024 pm 05:55 PM

Lors d'une réunion Tencent, les utilisateurs peuvent allumer leurs propres caméras pour le partage, mais la caméra a un nombre maximum de personnes. Alors, quelle est la limite supérieure du nombre de personnes sur la caméra Ci-dessous, l'éditeur vous présentera la limite supérieure ? limite du nombre de personnes dans la caméra de réunion Tencent Découvrons ensemble. Tutoriel d'utilisation des réunions Tencent : Quel est le nombre maximum de personnes pour la caméra de réunion Tencent Réponse : Le maximum est de 60 personnes et le minimum est de 30 personnes. 1. Introduction à la limite supérieure du nombre de personnes dans la caméra : 1. L'ordinateur peut accueillir jusqu'à 60 personnes pouvant allumer la caméra, et un écran peut accueillir jusqu'à 9 ou 25 personnes en même temps. 2. Le téléphone mobile peut prendre en charge jusqu'à 30 personnes allumant l'appareil photo, et un écran peut accueillir jusqu'à 4 personnes en même temps. 2. Méthodes pour augmenter la limite supérieure du nombre de vidéos : 1. S'il y a trop de participants, jusqu'à 30 personnes peuvent allumer la caméra en même temps. 2. Nous pouvons utiliser l'interface de l'avatar du compte pour

Un ordinateur sur cinq est désormais équipé de Windows 11, mais son adoption semble ralentir Un ordinateur sur cinq est désormais équipé de Windows 11, mais son adoption semble ralentir Apr 30, 2023 pm 05:10 PM

Windows 11 de Microsoft continue de croître, comme le montrent les dernières données de février 2022 d'un rapport AdDuplex. Le système d’exploitation approche rapidement du chiffre de 20 %, ce qui signifie qu’environ un PC sur cinq utilise désormais Windows 11. La version publique de Windows 11, Windows 1121H2, est désormais à 19,3 %. Pendant ce temps, le taux d’initiés pilotant diverses versions d’aperçu est désormais de 0,3 %. Cela porte la part totale de Windows 11 à 19,6 %, et d'ici mars, cette part en pourcentage pourrait dépasser 20 %. Windows 11 et plusieurs Wind

Résoudre l'erreur PHP : essayez d'attribuer des résultats non variables au point de connexion Résoudre l'erreur PHP : essayez d'attribuer des résultats non variables au point de connexion Aug 18, 2023 pm 01:13 PM

Résolution des erreurs PHP : essayez d'attribuer des résultats non variables au point de connexion. Dans le développement PHP, nous rencontrons souvent divers messages d'erreur. L'un d'eux est "TryingtoAssignNon-VariabletoConcatenate" (TryingtoAssignNon-VariabletoConcatenate). Ce message d'erreur indique que dans l'opérateur de point de jointure (.), nous essayons de joindre les résultats d'une non-variable. Pour résoudre ce problème, nous devons d’abord comprendre le rôle et l’utilisation de l’opérateur de point de jointure.

See all articles