Example #1
0
<?php

function is_prime($number)
{
    foreach (range(2, $number - 1) as $value) {
        $remainder = $number % $value;
        if ($remainder == 0) {
            return false;
        }
    }
    return true;
}
function largest_prime($number)
{
    $largest_prime_factor = 0;
    foreach (range(2, $number - 1) as $value) {
        if (is_prime($value) && $number % $value == 0 && $value > $largest_prime_factor) {
            $largest_prime_factor = $value;
        }
    }
    return $largest_prime_factor;
}
print_r(largest_prime(26));
Example #2
0
<?php

/**
 * Project Euler: Problem 3
 * Title: Largest prime factor
 * Description: The prime factors of 13195 are 5, 7, 13 and 29.
 * What is the largest prime factor of the number 600851475143?
 * Author: Jonathan Herbst
 * Last Edited: 11/11/2015
 */
function largest_prime($number)
{
    $index = 3;
    while ($index * $index < $number) {
        // If it's a factor
        if ($number % $index === 0) {
            $number = $number / $index;
        } else {
            // Iterate by 2 since the answer can't be even
            $index += 2;
        }
    }
    // The number that is left over will be the largest prime
    return $number;
}
$original = 600851475143;
echo "The largest prime factor of the number " . $original . " is " . largest_prime($original);