日期:2014-05-17 浏览次数:20515 次
function Factorization($num) { $end = sqrt($num); $k = 1; for($i=2; $i<=$end; $i+=$k,$k=2) { if(($num % $i) == 0) { while( ($num % $i) == 0 ) { $num /= $i; $r[] = $i; } $end = sqrt($num); } } if($num > 1) $r[] = $num; return $r; } print_r(Factorization(217));
------解决方案--------------------
穷举吧...
for($i=1;$i<(217/2+1);$i++)
{
$v = 217/$i;
if($v%2==1&&$i%2==1)
{
break;
}
}
echo "$v*$i=217;并$v $i 为质数.";
------解决方案--------------------
for($i=3;$i<sqrt(217)&&217%$i;$i+=2); echo $i, "*", 217/$i, "=217"; ////7*31=217