gpt4 book ai didi

function - haskell 文件夹和变量

转载 作者:行者123 更新时间:2023-12-02 22:05:07 25 4
gpt4 key购买 nike

如何创建一个与此类似的函数,但将 n 作为一个变量,其数字以 1 开头并以 xs 的长度值结尾?

例如,我希望 [1,2,3] 返回 3*1 + 2*2 + 1*3 的结果。

function :: [Int] -> Int
function xs = foldr (\x acc -> (x*n) + acc) 0 xs

最佳答案

一个惯用的 Haskell 答案可以是:

function = sum . zipWith (*) [1 ..] . reverse

从右向左阅读:反转列表 (reverse),这样您就不需要向后计数(从 n 到 1),而是向前计数(1 到 n)...然后你使用 * (zipWith (*) [1..]) 和索引来压缩它,最后总结一下 (sum)。

关于function - haskell 文件夹和变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17334441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com