Triangular, pentagonal, and hexagonal
Problem 045: Triangular, pentagonal, and hexagonal
Triangle, pentagonal, and hexagonal numbers are generated by the following formulae:
Name | Formula | Numbers |
---|---|---|
Triangle | T_{n} = n(n+1)/2 |
1, 3, 6, 10, 15, ... |
Pentagonal | P_{n} = n(3n-1)/2 |
1, 5, 12, 22, 35, ... |
Hexagonal | H_{n} = n(2n-1) |
1, 6, 15, 28, 45, ... |
It can be verified that T285 = P165 = H143 = 40755
.
Find the next triangle number that is also pentagonal and hexagonal.
Solution:
>8::**::**8*:*20pv0v>vv p03+g03*2:p01-\g01+g03:<
v +"l#"<3pp2# v/4 < >:30g+10g`! |
>1+::2*1-*64**v 010>0g>:10g`#^_>:|:/4p03/2g03<
^ < $<>1+:^>^ >30g2/30p4/^ >$30g:*-v
@.*-1*2:_^#!_^#! -5%6g03<
Explanation:
This problem is very similar to the previous one. We iterate through all Pentagonal numbers (starting at P_144) and test the numbers if they are hexagonal.
The test for hexagonal numbers is the same as in Problem-44, but we have to expand the iSquare function for int64 numbers ([20] is now 2^60 instead of 2^30).
The major trick is that we only need to test for the hexagonal property. Because all hexagonal numbers are also Triangle numbers. Think about it, a Hexagon has six edges and a Triangle three, so every Hexagonal contains two triangles.
H_{n} == T_{2*n}
Interpreter steps: | 25 312 679 |
Execution time (BefunExec): | 3.49s (7.24 MHz) |
Program size: | 48 x 6 (fully conform befunge-93) |
Solution: | 1533776805 |
Solved at: | 2014-12-11 |