Thursday, December 08, 2016

Programming Pascal's triangle

What is Pascal's triangle?

It is a triangular array which is consists from binomial coefficients (you can see visual representation of it below).

To get more information check article on wiki: Pascal's triangle.

I had a task where I needed to find out a value in a cell and what I only had were coordinates of it. I came with quit simple solution (Scala) which I really like.

The idea is to move up from the initial cell to the borders (left and right, since I know the values there) and once I am there, I move back to my initial cell but now I can bring some values from above.

object Main {
  def main(args: Array[String]) {    
    println(pascal(4, 3))
  }

  def pascal(c: Int, r: Int): Int = {
    if (c == 0 || r == 0 || c == r) 1
    else pascal(c - 1, r - 1) + pascal(c, r - 1)
  }
}

No comments :