我想通过创建一些基本函数来学习Haskell。我目前正在努力的功能叫做primeFactors
,它需要返回给定数字n的素数因子列表。目前我有以下几种:Haskell函数返回n的主因子
factors :: Integral a => a -> [a]
factors n = [x | x <- [1..n], n `mod` x == 0]
isPrime :: Integral a => a -> Bool
isPrime n = factors n == [1, n]
primeFactors :: Integral a => a -> [a]
primeFactors n = []
我想我应该使用前两个函数,但我并不确定如何去做。函数式编程对我来说是全新的。
在,如果我把它像这样结束:primeFactors 10
我希望它返回[5, 2]
任何帮助表示赞赏。提前致谢。
“因素”只需要考虑x < - [1 ..(n + 1)'div' 2]。想想看。 –