Методы поиска множителей числа в PHP

Вот несколько способов найти множители числа в PHP, а также примеры кода:

Метод 1: использование цикла for

function findFactors($number) {
    $factors = array();
    for ($i = 1; $i <= $number; $i++) {
        if ($number % $i == 0) {
            $factors[] = $i;
        }
    }
    return $factors;
}
$number = 12;
$factors = findFactors($number);
print_r($factors);

Метод 2. Использование цикла while

function findFactors($number) {
    $factors = array();
    $i = 1;
    while ($i <= $number) {
        if ($number % $i == 0) {
            $factors[] = $i;
        }
        $i++;
    }
    return $factors;
}
$number = 12;
$factors = findFactors($number);
print_r($factors);

Метод 3. Оптимизированный подход с использованием квадратного корня

function findFactors($number) {
    $factors = array();
    for ($i = 1; $i <= sqrt($number); $i++) {
        if ($number % $i == 0) {
            $factors[] = $i;
            if ($i != sqrt($number)) {
                $factors[] = $number / $i;
            }
        }
    }
    return $factors;
}
$number = 12;
$factors = findFactors($number);
print_r($factors);

Метод 4. Использование рекурсии

function findFactors($number, $current = 1, $factors = array()) {
    if ($current > $number) {
        return $factors;
    }
    if ($number % $current == 0) {
        $factors[] = $current;
    }
    return findFactors($number, $current + 1, $factors);
}
$number = 12;
$factors = findFactors($number);
print_r($factors);