예제 #1
0
function determinePrimeFactors($inputNumber)
{
    // outputs an array of all the prime factors of the input
    $factorsArray = [];
    for ($i = 3; $i <= sqrt($inputNumber); $i += 2) {
        if (determinePrime($i) == true && fmod($inputNumber, $i) == 0) {
            if (!in_array($i, $factorsArray)) {
                array_push($factorsArray, $i);
            }
        }
    }
    return $factorsArray;
}
예제 #2
0
function primeFactors($number)
{
    // takes a number as input, returns an array
    $primeFactors = [];
    for ($i = 1; $i <= $number; $i++) {
        if (determinePrime($i) && $number % $i == 0) {
            $primeFactors[] = $number / $i;
        }
    }
    for ($i = 0; $i < count($primeFactors); $i++) {
        if (determinePrime($primeFactors[$i]) == false) {
            $primeFactors[$i] = primeFactors($primeFactors[$i]);
        }
    }
    return $primeFactors;
}