Exercise : Prime Factors (by Eli White)

Write a PHP web service, factors.php, which will return (in text/plain) the prime factors of a provided number. For example, the request factors.php?n=264 would return:

2 * 2 * 2 * 3 * 11

You can make queries to the working solution to test. One simple algorithm for prime factorization of num is as follows:

for fact from 2 to num:
	while num % fact = 0:
		num = num / fact
		add fact to the list of prime factors of the original num

Make your web service return a 400 Invalid Request HTTP error code with an instructive error message if the parameter n is not provided.

Exercise Prime Factors

<?php
	header('Content-type: text/plain');
	if (!isset($_GET['n'])) {
		header('HTTP/1.1 400 Invalid Request');
		print "Please provide a parameter n.";
	} else {
		$factors = factorize($_GET["n"]);
		print implode(" * ", $factors);
	}
	function factorize($num) {
		$factors = array();
		for ($factor = 2; $factor <= $num; $factor++) {
			while ($num % $factor == 0) {
				$num /= $factor;
				array_push($factors, $factor);
			}
		}
		return $factors;
	}
?>