对数字列表或元组,输出所有偶数乘以它在此列表或元组中的偶数位数 erlang实现
时间: 2024-02-25 22:51:53 浏览: 64
1.计算数字范围中所有的偶数
以下是一个Erlang函数,可以接受一个数字列表或元组作为参数并输出所有偶数乘以它在此列表或元组中的偶数位数:
```
-module(mymodule).
-export([even_multiply/1]).
even_multiply(List) ->
EvenList = lists:filter(fun(X) -> X rem 2 == 0 end, List),
lists:foreach(fun(X) -> io:fwrite("~p ", [X * element(X, EvenList)]) end, lists:seq(2, 2, length(EvenList))).
```
该函数首先使用 `lists:filter/2` 函数从给定列表中提取所有偶数,然后使用 `lists:foreach/2` 函数遍历所有偶数位数并将其乘以对应的偶数输出。注意,元素索引从2开始,因为我们只考虑列表或元组中的偶数位数。
例如,如果我们调用 `mymodule:even_multiply([1, 2, 3, 4, 5, 6, 7, 8])` 函数,它将输出:4 24。因为 2乘以它在列表中的第二个位置上的元素4得到8,8乘以它在列表中的第四个位置上的元素8得到24。
阅读全文