#!/usr/bin/php
# get_primes_between.php
# Usage: php get_primes_between.php 2 1000
# => 2에서 10000 사이 소수 구하기
# python보다 속도가 빠름.
<?php
function isPrime($num) {
if ($num <= 1 ) return false;
if ($num == 2 or $num == 3) return true;
if ($num % 2 == 0) return false;
$root_val = round(sqrt($num)) + 1;
for ($i = 3; $i < $root_val; $i += 2) {
if ($num % $i == 0) return false;
}
return true;
}
if ($argc != 3) {
exit("Usage: $argv[0] start_number end_number\n");
}
$start_num = $argv[1];
$end_num = $argv[2];
if ($start_num % 2 == 0) $start_num++;
for ($i = $start_num; $i < $end_num; $i += 2)
if (isPrime($i) == true) print("$i\n");
?>
카테고리 없음