Restructuring
This commit is contained in:
47
solutions/ProjectEuler/045/solve.php
Normal file
47
solutions/ProjectEuler/045/solve.php
Normal file
@ -0,0 +1,47 @@
|
||||
<?php
|
||||
/**
|
||||
* Triangle Tn = n*(n+1)/2
|
||||
* Pentagonal Pn = n*(3n-1)/2
|
||||
* Hexagonal Hn = n*(2n-1)
|
||||
* T(285) = P(165) = H(143) = 40755
|
||||
* Find next
|
||||
*/
|
||||
|
||||
function Tn($n)
|
||||
{
|
||||
return $n*($n+1)/2;
|
||||
}
|
||||
|
||||
function Pn($n)
|
||||
{
|
||||
return $n*(3*$n-1)/2;
|
||||
}
|
||||
|
||||
function Hn($n)
|
||||
{
|
||||
return $n*(2*$n-1);
|
||||
}
|
||||
|
||||
echo "Tn(285)=".Tn(285).PHP_EOL;
|
||||
echo "Pn(165)=".Pn(165).PHP_EOL;
|
||||
echo "Hn(143)=".Hn(143).PHP_EOL;
|
||||
|
||||
|
||||
for($t = 285; $t < 100000; $t++)
|
||||
{
|
||||
$triangle[$t] = Tn($t);
|
||||
}
|
||||
|
||||
for($p = 165; $p < 100000; $p++)
|
||||
{
|
||||
$pentagonal[$p] = Pn($p);
|
||||
}
|
||||
|
||||
for($h = 143; $h < 100000; $h++)
|
||||
{
|
||||
$hexagonal[$h] = Hn($h);
|
||||
}
|
||||
|
||||
$result = array_intersect($triangle, $pentagonal, $hexagonal);
|
||||
|
||||
print_r($result);
|
Reference in New Issue
Block a user