学习Erlang

你会想到快速排序只需要两行代码吗?

代码:

-module(mysort).
-compile(export_all).
qsort([])->[];
qsort([P|T])->qsort([X||X<-T, X<P])++[P]++qsort([X||X<-T,X>=P]).

可能这就是Erlang吧,用80%的时间思考,20%的时间写出优雅的代码。

同样PE上的这个问题 Problem1 用三行代码就可以完成

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multiples of 3 or 5 below 1000.

sum35(N)->sum([X||X<-lists:seq(1,N-1), ((X rem 3)==0) or ((X rem 5)==0)]).
sum([])->0;
sum([H|T])->H+sum(T).

祝各位看官玩的开心!

更多内容请访问 www.daidongsheng.com


你可能感兴趣的:(学习Erlang)