Комбинации

Тема в разделе "Базовые решения", создана пользователем Alien193, 4 июн 2010.

Статус темы:
Закрыта.
  1. Alien193

    Alien193 Гость

    Функция перебирает всевозможные комбинации из указанных символов в указанном диапазоне.

    Код (PHP):
    function combi($w, $len, $b = '') {
    if($len < 0) $len = 0;
    $sl = strlen($w);
    $nlen = $len - 1;
    for($i = 0; $i < $sl; $i++) {
    $s = substr($w, $i, 1);
    if($nlen > 0) {
    $a = combi($w, $nlen, $b.$s); $c = count($a);
    for($j = 0; $j < $c; $j++) { $r[] = $a[$j]; }}
    else { $r[$i] = $b.$s; }}
    return $r;
    }
    Синтаксис:
    Код (PHP):
    combi(str $w, int $len);
    Где $w - любые символы, $len - диапазон символов перебора комбинаций.

    Пример использования:
    Код (PHP):
    $ch = 'ABCD';
    $len = 2;

    $a = combi($ch, $len);

    echo "Всего комбинаций: <b>".count($a)."</b>";
    echo "<pre>";
    print_r($a);
    echo "</pre>"
    Выведет:
     
Статус темы:
Закрыта.

Поделиться этой страницей