Advertisement
Guest User

Untitled

a guest
May 24th, 2016
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. let fizzbuzz num =
  2. match num with
  3. | x when (x % 3 = 0 && x % 5 = 0) -> printfn "%s" "FizzBuzz"
  4. | x when (x % 3 = 0) -> printfn "%s" "Fizz"
  5. | x when (x % 5 = 0) -> printfn "%s" "Buzz"
  6. | _ -> printfn "%s" (num.ToString())
  7. ;;
  8.  
  9. fizzbuzz 15;;
  10. FizzBuzz
  11. val it : unit = ()
  12.  
  13. let fizzbuzz =
  14. List.iter (function
  15. | x when x % 3 = 0 && x % 5 = 0 -> printfn "FizzBuzz"
  16. | x when x % 3 = 0 -> printfn "Fizz"
  17. | x when x % 5 = 0 -> printfn "Buzz"
  18. | x -> printfn "%d" x)
  19.  
  20. [0..100] |> fizzbuzz
  21.  
  22. let fizzbuzz =
  23. let rec util acc = function
  24. | [] -> acc
  25. | h::t ->
  26. let h =
  27. match h with
  28. | x when x % 3 = 0 && x % 5 = 0 -> "FizzBuzz"
  29. | x when x % 3 = 0 -> "Fizz"
  30. | x when x % 5 = 0 -> "Buzz"
  31. | x -> string x
  32. util (acc + "rn" + h) t
  33. util "" >> fun x -> x.[ 2 .. ]
  34.  
  35. > fizzbuzz [1..15];;
  36. val it : string =
  37. "1
  38. 2
  39. Fizz
  40. 4
  41. Buzz
  42. Fizz
  43. 7
  44. 8
  45. Fizz
  46. Buzz
  47. 11
  48. Fizz
  49. 13
  50. 14
  51. FizzBuzz"
  52.  
  53. for i in 1 .. 100 do
  54. fizzbuzz i
  55.  
  56. let rec fizzbuzz = function
  57. | [] -> ()
  58. | h :: t ->
  59. match h with
  60. | x when (x % 3 = 0 && x % 5 = 0) -> printfn "FizzBuzz"
  61. | x when (x % 3 = 0) -> printfn "Fizz"
  62. | x when (x % 5 = 0) -> printfn "Buzz"
  63. | x -> printfn "%d" x)
  64. fizzbuzz t
  65.  
  66. [0..100] |> fizzbuzz
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement