Advertisement
Guest User

Untitled

a guest
Nov 26th, 2018
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
F# 0.34 KB | None | 0 0
  1. let rec remove((l, occ, elem):int list * int * int) =
  2.   if occ=0 then (l,occ) else
  3.     match l with
  4.     |[]->([],occ)
  5.     |[x]->if x=elem then ([],(occ-1)) else ([x],occ)
  6.     |x::xs->
  7.       let (p,_)=remove(xs,occ,elem)
  8.       in
  9.       if x=elem then remove(xs,(occ-1),elem) else (x::p,occ)
  10. System.Console.WriteLine(remove(([10;2;3], 2, 2)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement