Kode: Vælg alt
<?php
set_time_limit(0);
echo '<br />';
$digits=1000;
$pival='1';
$str1='';
while ($pirow<2000)
{
$pirow+=1;
$pisubrow=0;
$tempval='0';
while ($pisubrow<$pirow)
{
$tempval=bcsqrt(bcadd('2',$tempval,$digits),$digits);
$pisubrow+=1;
sleep(1);
}
$tempval=bcdiv('2',$tempval,$digits);
$pival=bcmul($tempval,$pival,$digits);
unset($tempval);
$tempval=bcmul('2',$pival,$digits);
$common = array();
$length = (strlen($str1) >= strlen($tempval)) ? strlen($str1) : strlen($tempval);
for($x=0;$x<$length;$x++){
if($str1[$x] == $tempval[$x]){
$common[] = $str1[$x];
}else{
break;
}
}
if ($pirow>5)
{
echo 'pi='.substr(join('',$common),0,-2);
}
unset($str1);
$str1=$tempval;
unset($tempval);
echo '<p>';
flush();
sleep(1);
}
$pival=bcmul($pival,'2',$digits);
unset($pirow);
?>
Jeg sidder og kigger på koden blive afviklet i en terminal nu, og den er nået til pi=3.1415926535897
Scriptet kan fx bruges til at teste hvor hurtigt en computer kan regne et bestemt antal decimaler ud. Som det står her er der dog en sleep(1) indarbejdet, så scriptet ikke beslaglægger alle ressourcerne på computeren.
Ganske underholdende, tænkte jeg ville dele.
(nu er den nået til pi=3.1415926535897932)