好心人帮忙分析一段代码(1000内素数)
发表在PHP图书答疑
2009-04-13
是否精华
是
否
版块置顶:
是
否
你好,我是PHP的初学者,编程知识也很少。买了PHP从入门到精通的书。对求1000内的素数个别代码有些疑问。
<?php
$ss = 2;
$max = 1000;
$arr = array();
echo $max."以内的素数为:";
while($ss < $max):
$boo = false;
foreach($arr as $value):
if($ss % $value == 0):
$boo = true;
break;
endif;
endforeach;
if(!$boo): echo $ss." ";
$arr[count($arr)] = $ss;
endif;
$ss++;
endwhile;
?>
为什么$ss % $value == 0就能判断是非素数呢?$value都包含哪些数呢?(!$boo)就是素数吗?
只要在声明一个变量$num,使他大于1小于$ss。如果$ss % $num != 1的话,不就可以判断这个数为素数吗?
好心人帮我分析一下这段代码,尽可能详细些,不胜感激!!
<?php
$ss = 2;
$max = 1000;
$arr = array();
echo $max."以内的素数为:";
while($ss < $max):
$boo = false;
foreach($arr as $value):
if($ss % $value == 0):
$boo = true;
break;
endif;
endforeach;
if(!$boo): echo $ss." ";
$arr[count($arr)] = $ss;
endif;
$ss++;
endwhile;
?>
为什么$ss % $value == 0就能判断是非素数呢?$value都包含哪些数呢?(!$boo)就是素数吗?
只要在声明一个变量$num,使他大于1小于$ss。如果$ss % $num != 1的话,不就可以判断这个数为素数吗?
好心人帮我分析一下这段代码,尽可能详细些,不胜感激!!