Задача по комбинаторике на php

mus

Новичок
Задача по комбинаторике на php

Господа, напрочь забыл комбинаторику, нужно решить задачу с упорядоченными сочетаниями.
Помогите кто-нибудь.

Задача простая.

Представьте - имеется задача нарисовать таблицу из N столбцов, где N - кол-во параметров, введенных пользователем изначально.
Пользователь заполняет форму, в которой указывает, сколько параметров имеет таблица, каждому параметру присваивает название и диапазон значений.
Например,

1) столы - 1,4
2) часы - 2,5
3) цена 10,15

Теперь таблица строится следующим образом

1 | 2 | 10
1 | 2 | 11
1 | 2 | 12
...
1 | 3 | 10
1 | 3 | 11
...
2 | 2 | 10
2 | 2 | 11

и в таком духе.

Если заранее известно, сколько параметров, можно пустить столько циклов в программе и задача решена, но кол-во параметров не известно.
 

Popoff

popoff.donetsk.ua
mus
не помню как точно реализовывается
а тебе не приходило в голову, что ответ можно не только помнить и знать, но можно ещё и придумать? Задачка-то совершенно детская...

PHP:
function a($a,$i=0,$s='')
{
  if($i>=count($a)) return;
  if($i==count($a)-1)
  {
    for($j=$a[$i][0];$j<=$a[$i][1];$j++)
      echo $s.'-'.$j;
  }
  else
  {
    for($j=$a[$i][0];$j<=$a[$i][1];$j++)
      a($a,$i+1,$s.'-'.$j);
  }
  return;
}
a(array(array(1,4),array(2,5),array(10,15)));
 
Сверху