Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/php
- <?php
- function isPrime($num) {
- if (!is_numeric($num)) {
- exit(1);
- } elseif ($num < 1) {
- exit(2);
- } elseif ($num == 1) {
- return false;
- }
- $half = ceil(($num / 2) + 1);
- for ($x = 2; $x < $half; $x++) {
- if ($num % $x == 0) {
- return false;
- }
- }
- return true;
- }
- function getFactors($num) {
- if (!is_numeric($num)) {
- exit(3);
- } elseif ($num < 1) {
- exit(4);
- } elseif ($num == 1) {
- return array(1);
- }
- $factors = array();
- echo "number: \t$num\n";
- for ($x = 1; $x <= $num; $x++) {
- if ($num % $x == 0) {
- $factors[] = $x;
- echo "new factor:\t$x\n";
- }
- }
- return $factors;
- }
- echo("start: " . ($start = time()) . "\n");
- $factors = getFactors(600851475143);
- echo("end: " . ($end = time()) . "\n");
- echo("total: " . ($end - $start));
- echo($start = time() . "\n");
- foreach ($factors as $factor) {
- echo $factor . ": \t";
- if (isPrime($factor)) {
- echo "prime\n";
- } else {
- echo "not prime\n";
- }
- }
- echo($end = time() . "\n");
- echo("total: " . ($end - $start));
Advertisement
Add Comment
Please, Sign In to add comment