我正在尝试3x + 1 problem
通过在线运行 PHP 脚本并评估所有数字来验证 ,。
我有一个无限循环正在运行,但是当值达到大约 35,000 时,服务器停止了我的循环。
我猜测终止是由于我的 HTTP 连接重置并且服务器不再为我的请求提供服务时引起的。
我想让它尽可能长时间地运行,如果它想吃掉服务器的资源。我该怎么做?定时任务?
这是脚本,永远不会打印“结束”。
class Collatz_Verify
{
public function Collatz_Verify()
{
// open output file
$file = 'verified_nums.txt';
$outFile = fopen($this->NUMBERS_FILENAME, 'a');
}
public function verify()
{
$num = 0;
while(1)
{
$num += 1;
# call collatz!!
if($this->collatz($num) == 1)
fwrite($this->outFile, $num);
}
print "ah, crap! End!";
}
public function collatz($num)
{
if ($num == 1)
return 1;
if (($num % 2) == 0)
return $this->collatz($num/2);
else
return $this->collatz((3*$num) + 1);
}
}
// Fire away!
$ver = new Collatz_Verify();
$ver->verify();
?>