예제 #1
0
 /**
  * @depends testFact
  */
 public function testCombinacao()
 {
     $resp = Approximation::calcCombination(52, 5);
     $this->assertEquals(2598960, $resp);
     $resp = Approximation::calcCombination(16, 3);
     $this->assertEquals(560, $resp);
 }
예제 #2
0
 static function calcularComRegrasMaxVMSubProdOthers($scenario, $maxVM)
 {
     $indesejado = 0;
     $todas = array_product($scenario['rvm']);
     foreach ($scenario['rpm'] as $pmName => $pm) {
         $localUnwanted = 0;
         if ($pm > $maxVM) {
             $multi = Approximation::getOutsidersInsiders($pmName, $scenario)[0];
             for ($i = $maxVM + 1; $i <= $pm; $i++) {
                 $tmp = Approximation::calcCombination($pm, $i) * $multi;
                 $localUnwanted += $tmp;
             }
         }
         $indesejado += $localUnwanted;
     }
     return $todas - $indesejado;
 }