blob: 0b2c10f9790b708d9f6466889e09fd5ee40a29db (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
-module(problem10).
-export([solve/0]).
solve() -> gen_list([2,3],2000000).
gen_list(List,Max) ->
O = gen_next(List),
if
O > Max ->
lists:sum(List);
true ->
gen_list(List++[O],Max)
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 ->
Next
end.
will_divide(_, []) ->
false;
will_divide(Num, [H|T]) ->
if
Num rem H =:= 0 ->
true;
true ->
will_divide(Num, T)
end.
|