Skip to content

Instantly share code, notes, and snippets.

@naveensrinivasan
Created November 16, 2012 21:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save naveensrinivasan/4090882 to your computer and use it in GitHub Desktop.
Save naveensrinivasan/4090882 to your computer and use it in GitHub Desktop.
Prime and Prime factors
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