Erlang程序设计中文版.pdf
快速排序
qsort([])->[]; qsort([Pivot|T])-> qsort([X||X<-T,X<Pivot]) ++{Pivot]++ qsort([X||X<-T,X>=Pivot]).
[X||X<-T,X<Pivot]. %这句的功能是在T列表中找出比Pivot小的数 [X||X<-T,X>=Pivot]. %这句的功能是在T列表中找出比Pivot大或者相等的数 ++[Pivot]++ %把Pivot插入到列表中,前面是比Pivot小的,后面是比Pivot大或者等于的
这样使用++,一般而言不是一个良好的编程习惯。这里没有考虑程序效率问题。
毕达哥拉斯三元组
毕达哥拉斯三元组是一个整数集合{A,B,C},它使得A*A+B*B=C*C。
pythag(N)-> [{A,B,C}|| A<-lists:seq(1,N), B<-lists:seq(1,N), C<-lists:seq(1,N), A+B+C=<N, A*A+B*B=:=C*C ].