-module(prog).
-export([main/0]).
twoCombination([]) -> [];
twoCombination([H|T]) -> [{H, X} || X <- T] ++ twoCombination(T).
lesser(ValList) ->
DiffList = lists:
map(fun({A, B}) -> {abs(A - B), {A, B}} end, twoCombination(ValList)), {_, Values} = lists:
foldl(fun({Diff, DiffValues}, {Acc, AccValues}) -> case Diff =< Acc of
true -> {Diff, DiffValues};
false -> {Acc, AccValues}
end
end, {65535, 0}, DiffList),
Values.
main() ->
Result = lesser([41, 21, 19, 34, 111, 2, 5]),
io:
format("~p", [Result]), true.
LW1vZHVsZShwcm9nKS4KLWV4cG9ydChbbWFpbi8wXSkuCiAKdHdvQ29tYmluYXRpb24oW10pIC0+IFtdOwp0d29Db21iaW5hdGlvbihbSHxUXSkgLT4gW3tILCBYfSB8fCBYIDwtIFRdICsrIHR3b0NvbWJpbmF0aW9uKFQpLgogCmxlc3NlcihWYWxMaXN0KSAtPgoJRGlmZkxpc3QgPSBsaXN0czptYXAoZnVuKHtBLCBCfSkgLT4ge2FicyhBIC0gQiksIHtBLCBCfX0gZW5kLCB0d29Db21iaW5hdGlvbihWYWxMaXN0KSksCgl7XywgVmFsdWVzfSA9IGxpc3RzOmZvbGRsKGZ1bih7RGlmZiwgRGlmZlZhbHVlc30sIHtBY2MsIEFjY1ZhbHVlc30pIC0+CgkJY2FzZSBEaWZmID08IEFjYyBvZgoJCQl0cnVlIC0+IHtEaWZmLCBEaWZmVmFsdWVzfTsKCQkJZmFsc2UgLT4ge0FjYywgQWNjVmFsdWVzfQoJCWVuZAoJZW5kLCB7NjU1MzUsIDB9LCBEaWZmTGlzdCksCglWYWx1ZXMuCiAKbWFpbigpIC0+CglSZXN1bHQgPSBsZXNzZXIoWzQxLCAyMSwgMTksIDM0LCAxMTEsIDIsIDVdKSwKCWlvOmZvcm1hdCgifnAiLCBbUmVzdWx0XSksCgl0cnVlLg==