Я пытаюсь изучить 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]. Думаю об этом. –