日曜プログラミング

PHP好き集まれ〜!!

PHPで素数判定書いてみた。

素数判定をPHPで書きました!


<?php
/*
 * 素数判定
 * 
 * 素数:1と自分自身以外に約数が存在しない整数
 * 
 */

//標準入力
$input = (int)trim(fgets(STDIN)); 


//素数判定
function prime_judge($number){
	
	if($number === 2 && $number === 3){
		return "素数です";
	}
	
	$flag = 0;

    /*2から$number-1の間に$numberの約数があるかどうか確認
     約数があれば$numberは素数ではない。
      ただここでは高速化のため、2からfloor($number/2)の間の
	  に約数があるかどうかだけチェックしてる*/

	foreach(range(2, floor($number / 2)) as $a){
		
		$mod = $number % $a;
		//約数であれば$mod==0となっているはずである
		if($mod === 0){
			$flag = 1;
			break;
		}
	}
	/*ここまで約数かどうか調べて一つもなければ
	  $flag == 0となっています。*/
	if($flag === 0){
		return "素数です";
	}else if($flag === 1){
		return "素数ではない";
	}
}

echo prime_judge($input), PHP_EOL;

これよりこっちのコードの方がいいというコードがあれば是非教えてください!
もっと勉強したいので。。

ではおやすみなさい。