learning F#, it seems pretty cool, favourite functional language so far.
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

CollatzConjecture.fs 335B

123456789101112
  1. module CollatzConjecture
  2. let rec countSteps counter n =
  3. match n with
  4. | 1 -> counter
  5. | _ when n % 2 = 0 -> countSteps (counter + 1) (n / 2)
  6. | _ -> countSteps (counter + 1) (n * 3 + 1)
  7. let steps (number: int): int option =
  8. match number with
  9. | _ when number < 1 -> None
  10. | _ -> Some(countSteps 0 number)