def countChange(money: Int, coins: List[Int]): Int = { def loop(money: Int, coins: List[Int]): Int = { if (money < 0 || coins.isEmpty ) 0 else if (money == 0 ) 1 else loop(money, coins.tail) + loop(money - coins.head, coins) } loop(money, coins) }