haskell - 如何创建特殊类型的列表?

标签 haskell

我必须在 Haskell 中创建一种特殊类型的列表。首先,我必须创建一个函数,无论它的数量是否充足。 丰数是指对数的除数求和时,结果大于原数的两倍,例如

12-> 1,2,3,4,6,12 > 24

我有这个解决方案:

 abundant n =  sum[x | x <- [1..(n-1)], n `rem` x == 0]+n> 2*n

现在我应该创建一个列表,向您显示一定数量的丰富数字,我应该怎么做?

最佳答案

我喜欢鼓励人们思考问题,但这并没有什么意义。

filter abundant [1..]

这为您提供了无限丰富的数字列表。您可以take从中得到一个有限的列表。

关于haskell - 如何创建特殊类型的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58439505/

相关文章:

data-structures - 在 Haskell 代数数据类型中的备选方案中进行选择

haskell - 回滚 IO 操作

haskell - 为什么 `Effect` 只密封两个流入,而不是所有流?

haskell - 未能在我自己定义的数据结构上使用映射

haskell - 将 min 命令映射到 haskell 中的多级列表

arrays - 使用哪个 haskell 数组实现? AKA 各自的优点和缺点是什么

Haskell Emacs haskell-模式 : Run 'C-h f haskell-mode' for instruction how to setup a Haskell interaction mode

haskell - 当使用像 Parsec 这样的解析器组合器库时,我应该使用词法分析器吗?

java - 如何在 Java 中模拟 Haskell 的 "Either a b"

haskell - 无限生成汉明序列的最新技术