% 리스트ì—�서 ì�¸ì ‘한 ê°’ì�˜ 차가 들어있는 리스트를 sort 해서 리스트 ì›�소ì�˜ í•©ê³¼ 가우스 í•©(?)ì�„ 비êµ�.
% io 부분 추가해야 함.
-module(jolly).
-compile(export_all).
jolly([H|T]) ->
jollyResult([H|T], lists:usort(jollySub(H, T, []))).
jollyResult(Ori, Res) ->
case (length(Ori)-1 =:= length(Res) andalso lists:sum(Res) =:= trunc((hd(Res)+lists:last(Res))*length(Res)/2)) of
true ->
io:format("Jolly~n");
false ->
io:format("Not Jolly~n")
end.
%앞� 것과 뒤� 아�템� 빼서 새 리스트� �함..
jollySub(H, [], Res) ->
Res;
jollySub(H, [HH|T], Res) ->
jollySub(HH, T, Res++[abs(H-HH)]).
위ì�˜ 코드ì—� 다ì�Œê³¼ ê°™ì�´ 메시지를 받는 함수를 작성하면, ì�´ 함수를 ìƒ�ì„±í•˜ê³ ë©”ì‹œì§€ë¡œ 리스트를 ì „ë‹¬í•˜ë©´ 똑같ì�´ ì�´ìš©í• 수 있다.
jollyInt() ->
receive
H -> jolly(H)
end.
> Pid = spawn(jolly:jollyInt/0).
> Pid ! [4,1,3,2].










