看到面试题有关于书上几个例子的,所以又写了一遍。
%%% =================================================================
%%% @author hengbin
%%% @date 2016-2-22
%%% @copyright hengbin
%%% @doc @todo Add description to demo1.
%%% =================================================================
-module(demo1).
%%% =================================================================
%%% API functions
%%% =================================================================
-compile(export_all).
%%% =================================================================
%%% Internal functions
%%% =================================================================
%%for循环
for(Max,Max,F)->[F(Max)];
for(Min,Max,F)->
[F(Min)|for(Min+1,Max,F)].
%%比格拉斯三原数
payth(N)->
[{A,B,C}||A<-lists:seq(1,N),
B<-lists:seq(1,N),
C<-lists:seq(1,N),
A*A + B*B =:= C*C,
A+B+C=<N].
%%快速排序
qsort([])->[];
qsort([H|T])->qsort([X||X<-T,X<H])
++[H]++
qsort([X||X<-T,X>H]).
%%回文构词
get_number([])->[[]];
get_number(L)->[[H|T]||H<-L,T<-get_number(L --[H])].
%%列表中的元素进行随机排序
shuffle(L) ->
List1 = [{random:uniform(), X} || X <- L],
List2 = lists:keysort(1, List1),
[E || {_, E} <- List2].
测试如下: