当前位置: 代码迷 >> PHP >> 两数是质数,两数积为217,求这两数,该如何处理
  详细解决方案

两数是质数,两数积为217,求这两数,该如何处理

热度:123   发布时间:2012-06-09 17:16:42.0
两数是质数,两数积为217,求这两数
两数是质数,两数积为217,求这两数

------解决方案--------------------
因式分解(筛法)
PHP code
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 为质数.";
------解决方案--------------------
PHP code

for($i=3;$i<sqrt(217)&&217%$i;$i+=2);
echo    $i, "*", 217/$i, "=217";
////7*31=217 
  相关解决方案