aboutsummaryrefslogtreecommitdiff
path: root/problem7.erl
diff options
context:
space:
mode:
Diffstat (limited to 'problem7.erl')
-rwxr-xr-xproblem7.erl32
1 files changed, 32 insertions, 0 deletions
diff --git a/problem7.erl b/problem7.erl
new file mode 100755
index 0000000..1a6c273
--- /dev/null
+++ b/problem7.erl
@@ -0,0 +1,32 @@
+-module(problem7).
+-export([solve/0]).
+
+solve() -> gen_sized([2,3],10001).
+
+gen_sized(List, Size) ->
+ case length(List) of
+ Size ->
+ lists:nth(Size,List);
+ _ ->
+ gen_sized(gen_next(List),Size)
+ end.
+gen_next(List) ->
+ gen_next(List, lists:max(List) + 1).
+gen_next(List, Next) ->
+ Q = will_divide(Next, List),
+ if
+ Q ->
+ gen_next(List, Next + 1);
+ true ->
+ List ++ [Next]
+ end.
+
+will_divide(_, []) ->
+ false;
+will_divide(Num, [H|T]) ->
+ if
+ Num rem H =:= 0 ->
+ true;
+ true ->
+ will_divide(Num, T)
+ end.