PHP: получение уникальных комбинаций чисел из массиваPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Гость
 PHP: получение уникальных комбинаций чисел из массива

Сообщение Гость »


Я пытаюсь создать списки возможных комбинаций для умножения 4 случайно выбранных чисел из массива простых чисел, но безрезультатно. Есть какие-нибудь подсказки?
Это довольно прямой подход, и я чувствую, что есть что-то, что я по неосторожности пропустил.
вот на чем я застрял:
< предварительно>

Код: Выделить всё

//Pruning outcome from controlled lists of Prime Numbers
$primes = array(2, 3, 5, 7, 11, 13, 17, 19, 21);

function getUniqueRandomProductsWithNumbers($arr, $n) {
$seen = array(); // Store seen combinations to avoid duplicates
$productsWithNumbers = array();

while (count($productsWithNumbers) < pow(count($arr), $n)) {
$selected = array_rand($arr, $n); // Get random indexes
sort($selected); // Sort to ensure order for checking duplicates
$key = implode(",", $selected); // Create a unique key based on sorted indexes

if (!isset($seen[$key])) {
$product = 1;
$numbers = array();
foreach ($selected as $i) {
$product *= $arr[$i];
$numbers[] = $arr[$i];
}
$seen[$key] = true;
$productsWithNumbers[] = array($numbers, $product);
}
}

return $productsWithNumbers;
}

$uniqueProducts = getUniqueRandomProductsWithNumbers($primes, 4);
echo "Unique Products with Numbers:\n";
foreach ($uniqueProducts as $productSet) {
echo "Numbers: ";
print_r($productSet[0]); // Print the numbers array
echo ", Product: " . $productSet[1] . "\n";
}
Really appreciate any pointers. Thanx in advance...


Источник: https://stackoverflow.com/questions/781 ... m-an-array
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»