小编hac*_*arn的帖子

可重现的 nix-env -i 仅适用于 Nix,无 NixOS

我仅用作Nix包管理器,而不使用所有NixOS. 我想要一个可复制的nix-env -i包安装,可以共享和备份。

我知道使用config.nixfor forNixOS但我正在寻找仅包含Nix包的类似功能。

nix

5
推荐指数
1
解决办法
862
查看次数

H-99问题:#26无法理解解决方案

阅读“了解您的Haskell”之后,我目前正在研究H-99问题。到目前为止,我感觉自己对这些概念掌握得很好,并且在解决或理解先前的问题上没有太多麻烦。但是,这一点让我很困惑,我不明白解决方案。

问题是:

生成从列表的N个元素中选择的K个不同对象的组合

可以从12个人的小组中以3种方式选出3个委员会吗?我们都知道存在C(12,3)= 220个可能性(C(N,K)表示众所周知的二项式系数)。对于纯数学家来说,这个结果可能很棒。但是,我们确实希望在列表中生成所有可能性。

解决方案提供了:

import Data.List    

combinations :: Int -> [a] -> [[a]]
combinations 0 _  = [ [] ]
combinations n xs = [ y:ys | y:xs' <- tails xs, ys <- combinations (n-1) xs']
Run Code Online (Sandbox Code Playgroud)

对我来说,主要的困惑是y变量。根据尾部的工作方式,应在开始时为其分配整个列表,然后在生成列表后将其添加到ys之前。但是,当函数运行时,它返回的列表列表的长度不得超过传入的n值。有人可以帮助我确切地了解其工作原理吗?

haskell

3
推荐指数
1
解决办法
205
查看次数

标签 统计

haskell ×1

nix ×1