DEV Community

Discussion on: Daily Challenge #153 - Horse Race Gamble

Collapse
 
strickolas profile image
Nicholas Saccente

Here's my submission while I'm learning Nim.

proc fac(n: int): int =
  if n <= 1: return 1
  result = n * fac(n - 1)

proc nPr(n: int, r: int): int =
  result = fac(n) div fac(n-r)

proc `%`(n: int, r: int): int =
  result = nPr(n, r)

proc horses(n: int): int =
  if n <= 3: return n
  result = n % 3

when isMainModule:
  echo horses(15)    #=> 2730
  echo horses(12)    #=> 1320
  echo horses(2)     #=> 2
  echo horses(11)    #=> 990
  # echo horses(a)   #=> compiler error