Skip to content

Instantly share code, notes, and snippets.

@iamshanto
Created June 5, 2013 02:54
Show Gist options
  • Save iamshanto/5711297 to your computer and use it in GitHub Desktop.
Save iamshanto/5711297 to your computer and use it in GitHub Desktop.
<?php
global $triangularNumberOffset, $divisors;
$triangularNumberOffset = 1;
$triangularNumber = 0;
function nextTriangularNumberOffset()
{
global $triangularNumberOffset;
return $triangularNumberOffset++;
}
function nextTriangularNumber($n, &$triangularNumber)
{
return $triangularNumber += $n;
}
/*for ($i=0; $i<7; $i++) {
t(nextTriangularNumberOffset(), $triangularNumber);
}*/
set_time_limit(0);
function d($n, $d = 2)
{
global $divisors;
$divisors[$n] = array(1, $n);
while(true){
if ($n % $d == 0) {
$divisors[$n][] = $n / $d;
}
$d++;
if($n <= $d){
break;
}
};
//return $divisors[$n];
return count($divisors[$n]);
}
function n(){
global $triangularNumber;
return nextTriangularNumber(nextTriangularNumberOffset(), $triangularNumber);
}
$number = nextTriangularNumberOffset();
$i = 1;
while(true){
$n = n();
echo $n;
if(d($n) < 20){
break;
}
$number += $i;
$i++;
}
//echo $n;
//print_r(d(50000000));//4812376
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment