recursion - 如何使用递归函数在 erlang 中列出偶数?

标签 recursion erlang

如何在 Erlang 中使用递归函数以这种方式生成偶数。

注意:输出列表的长度是函数func

的输入

例子:

> mod:func(5).
[2,4,6,8,10]

最佳答案

在 erlang 中有很多方法可以做到这一点,我建议:

  1. 使用序列生成器

    doubles(Number)->
        lists:seq(2,Number*2,2).
    
  2. 使用列表理解

    doubles(Number)->
        [X*2 || X <- lists:seq(1,Number)].
    
  3. 递归方式

    doubles(Max)->
        doubles(1,Max).
    doubles(Max,Max)->
        [Max*2];
    doubles(Val,Max)->
        [Val*2]++doubles2(Val+1,Max).
    

关于recursion - 如何使用递归函数在 erlang 中列出偶数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36033868/

相关文章:

java - 在容量为 M 的 K 个房间中分配 N 吨食物

recursion - Mathematica中的动态编程: how to automatically localize and/or clear memoized function's definitions

Erlang:在一组动态节点上进行作业调度

erlang - 如果你想安装 Erlang 库,你会使用什么?

vim - 如何在 VIM 中递归使用 Global?

c++ - C++中的递归(生成二进制代码)

erlang - rebar:缺少应用程序目录

Erlang escript 使用启动参数启动应用程序

Erlang - 如何在一台 Windows Vista 机器上运行多个节点?

recursion - Clojure 递归函数