Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
25 lines (19 sloc) 694 Bytes
%% Problem
%% ---------------------
%% Triangle, pentagonal, and hexagonal numbers are generated by the following formulae:
%%
%% Triangle Tn=n(n+1)/2 1, 3, 6, 10, 15, ...
%% Pentagonal Pn=n(3n-1)/2 1, 5, 12, 22, 35, ...
%% Hexagonal Hn=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.
%% ---------------------
-module(p045).
-export([solve/0]).
solve() -> check(166).
check(N) -> check(N, N * (3*N - 1) div 2).
check(N, P) -> check(N, P, (1 + math:sqrt(1 + 8*P)) / 4).
check(N, P, K) when K == trunc(K) -> {N, trunc(K), P};
check(N, _, _) -> check(N + 1).