此代码返回从2开始的Integer的第一个因子,或者如果它是素数则不返回任何内容.
示例:firstFactorOf 24返回"Just 2"
示例:firstFactorOf 11返回"Nothing"
我的问题是,如果有一个因子,我将如何返回值2而不是"Just 2",如果没有因子,我将如何返回值x.
firstFactorOf x
| m == Nothing = m
| otherwise = m
where m =(find p [2..x-1])
p y = mod x y == 0
//RETURNS:
ghci> firstFactorOf 24
Just 2
ghci> firstFactorOf 11
Nothing
Run Code Online (Sandbox Code Playgroud)