Select Git revision
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
test5.php 2.95 KiB
<?php
/**
* @var $this \Application\View\Renderer\PhpRenderer
* @var $controller \Zend\Mvc\Controller\AbstractController
* @var $viewName string
* @var $sl \Zend\ServiceManager\ServiceLocatorInterface
*/
$effectifs = 100;
$cmin = [0, 4];
$cmax = [0, 4];
//$cmin = [2,2];
//$cmax = [2,2];
$noeuds = [
1,
5,
2,
8,
];
/*$noeuds = [
1,
1,
3
];*/
$totalPoids = array_sum($noeuds);
$nbChoix = count($noeuds);
$maxPoids = 0;
foreach( $noeuds as $poids){
if ($poids > $maxPoids) $maxPoids = $poids;
}
function calc($choixMin, $choixMax, $poids, $maxPoids, $totalPoids, $nbChoix)
{
$coefChoix = ($choixMin + $choixMax) / 2 / $nbChoix;
$coefPoids = $poids / $totalPoids;
$maxCoefPoids = $maxPoids / $totalPoids;
$resMax = $coefChoix * $maxCoefPoids * $nbChoix;
if (($resMax) <= 1){
return 0;
return $coefChoix * $coefPoids * $nbChoix;
}else{
// $res = $coefChoix * $nbChoix * ($coefPoids+(((1/$nbChoix)-$coefPoids)*0));
// $resMax = $coefChoix * $nbChoix * $maxCoefPoids;
$delta = $resMax;
return $delta;
$res = $coefChoix;
//$res = 1 / (($coefChoix * $nbChoix * $coefPoids) - 1);
//return $res;
$correcteur = $res;
$res = $coefChoix * $nbChoix * ($coefPoids+(((1/$nbChoix)-$coefPoids)*$correcteur));
return $res;
}
}
//var_dump(calc(3,3,3,3,5,3));
echo "Effectifs = " . $effectifs . '<br />';