Problem 35
Determine the prime factors of a given positive integer. Construct a flat list containing the prime factors in ascending order.
Example:
primeFactors 315 == [3, 3, 5, 7]
Unit Test
import Html
import List
import Maybe
primeFactors : Int -> List Int
primeFactors n =
    -- your implementation here
    []
main =
    Html.text
        (if (test) then
            "Your implementation passed all tests."
         else
            "Your implementation failed at least one test."
        )
test : Bool
test =
    List.all (\( result, expect ) -> result == expect)
        [ ( primeFactors 36, [ 2, 2, 3, 3 ] )
        , ( primeFactors 10, [ 2, 5 ] )
        , ( primeFactors -1, [] )
        , ( primeFactors 1, [] )
        , ( primeFactors 0, [] )
        , ( primeFactors 120, [ 2, 2, 2, 3, 5 ] )
        , ( primeFactors 2, [ 2 ] )
        , ( primeFactors 23, [ 23 ] )
        , ( primeFactors 69146, [ 2, 7, 11, 449 ] )
        , ( primeFactors 9007, [ 9007 ] )
        , ( primeFactors 36028, [ 2, 2, 9007 ] )
        , ( primeFactors 26028, [ 2, 2, 3, 3, 3, 241 ] )
        ]
Hints
- Use 
primesRangefrom Problem 39 to give you all the prime numbers from 2 to n, and search for factors. - Try to implement the solution without 
primesRange. Instead usedropWhilefrom Problem 8 to filter to the factors.