Erlang编程实战1

练习1:生成斐波那契数列!结果示例:【1,1,2,3,5】
练习2: 求列表元素平均值
练习3: 12+22+32+42+52+…+n2
练习4: 将两个列表连接起来
练习5:快速排序。

-module(myEx1).

-export([
    fabonacii/1,
    average/1,
    sum_square/1,
    concat/2
        ]).

%%%练习1:生成斐波那契数列
%%%结果示例:[1,1,2,3,5]
element(1) -> 1;
element(2) -> 1;
element(N) -> element(N-1) + element(N-2).

fabonacii(N) -> fabonacii(N,[]).

fabonacii(0,L) -> L;
fabonacii(N,L) -> fabonacii(N-1,[element(N)|L]).

%%练习2:求列表元素平均值
sum([]) -> 0;
sum([H|T]) -> H + sum(T).

num([]) -> 0;
num([_H|T]) -> num(T) +1.

average([]) -> 0;
average(L) -> sum(L) / num(L).


%%练习3: 12+22+32+42+52+…+n2
square(X) -> X * X.

sum_square(0) -> 0;
sum_square(N) -> square(N) + sum_square(N-1).

%%%练习4:将两个列表连接起来。
%%%将列表L1和L2连接起来,将L2的元素依次插入L1的前面
reverse(L) -> reverse(L,[]).

reverse([],L) -> L;
reverse([H|T],L) -> reverse(T,[H|L]).

concat(L1,L2) ->re_concat(L1,reverse(L2)).

re_concat(L,[]) -> L;
re_concat(L,[H|T]) -> re_concat([H|L],T).

%%%练习5:快速排序。
qsort([]) -> [];
qsort([Pivot|T]) ->
    qsort([X || X <- T, X < Pivot])
    ++ [Pivot] ++
        qsort([X || X <- T, X >= Pivot]).



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值