Created
November 16, 2012 21:02
-
-
Save naveensrinivasan/4090882 to your computer and use it in GitHub Desktop.
Prime and Prime factors
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let isprime i = | |
List.filter(fun x -> i%x = 0) [1..i] | |
|> List.length = 2 | |
let primefactor x = | |
let rec innerprime number divisor l= | |
let intermedidate = number /divisor | |
match (not(isprime intermedidate ),number > divisor) with | |
|true,true when number % divisor = 0 -> innerprime intermedidate divisor (divisor::l) | |
|_,true when number % divisor = 0 -> intermedidate::divisor::l | |
|_,true -> innerprime number (divisor+1) l | |
|_,false -> l | |
innerprime x 2 [] | |
primefactor 10 | |
primefactor 15 | |
primefactor 147 | |
primefactor 17 | |
primefactor 90 | |
primefactor 25 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment