Hoa central
Combination.php
Go to the documentation of this file.
1 <?php
2 
38 
39 use Hoa\Core;
40 
50 {
63  public static function Γ($n, $k, $withoutZero = false)
64  {
65  if (0 === $n) {
66  return [];
67  }
68 
69  $out = [];
70  $tmp = null;
71  $i = 0;
72  $o = array_fill(0, $n, 0);
73  $o[0] = $k;
74 
75  while ($k != $o[$i = $n - 1]) {
76  if (false === $withoutZero || !in_array(0, $o)) {
77  $out[] = $o;
78  }
79 
80  $tmp = $o[$i];
81  $o[$i] = 0;
82 
83  while ($o[$i] == 0) {
84  --$i;
85  }
86 
87  --$o[$i];
88  $o[$i + 1] = $tmp + 1;
89  }
90 
91  if (false === $withoutZero || !in_array(0, $o)) {
92  $out[] = $o;
93  }
94 
95  return $out;
96  }
97 }
98 
102 Core\Consistency::flexEntity('Hoa\Math\Combinatorics\Combination\Combination');
static Γ($n, $k, $withoutZero=false)
Definition: Combination.php:63