日期:2014-05-17 浏览次数:20595 次
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