aboutsummaryrefslogtreecommitdiff
path: root/problem36.erl
diff options
context:
space:
mode:
authorNathan Lasseter <nathan.je.lasseter@googlemail.com>2009-10-04 00:56:56 +0100
committerNathan Lasseter <nathan.je.lasseter@googlemail.com>2009-10-04 00:56:56 +0100
commit0248ed34ce3d05228bc5084669c3a27933be0c2e (patch)
treeb9c4990344b0863a2af851b5917c49f3a5f03e6b /problem36.erl
parent00686037d57eb0a0d5eba6eeb6fcc9692e8b59f6 (diff)
first commit
Diffstat (limited to 'problem36.erl')
-rwxr-xr-xproblem36.erl16
1 files changed, 16 insertions, 0 deletions
diff --git a/problem36.erl b/problem36.erl
new file mode 100755
index 0000000..06a12e5
--- /dev/null
+++ b/problem36.erl
@@ -0,0 +1,16 @@
+-module(problem36).
+-export([solve/0]).
+
+lists() -> [ integer_to_list(X) || X <- lists:seq(1,1000000) ].
+
+palindromes() -> [ list_to_integer(X) || X <- lists(), X =:= lists:reverse(X) ].
+
+binaries() -> [ hd(io_lib:format("~.2B", [X])) || X <- palindromes() ].
+
+bin_pal() -> [ X || X <- binaries(), X =:= lists:reverse(X) ].
+
+make_3ples() -> [ io_lib:fread("~2u", X) || X <- bin_pal() ].
+
+make_decs() -> [ Val || {ok, [Val], _} <- make_3ples() ].
+
+solve() -> lists:sum(make_decs()).