Print pascal's triangle
Pascal’s triangle is based on this formula :
C(n, r) = C(n-1, r-1) + C(n-1, r)
int Pascal(int n, int r) { if (r == 0) return 1; if (n == 0) return 0; return Pascal(n - 1, k - 1) + Pascal(n - 1, r); } In cpp, this recursive routine can use both memoization and recursion:
public static long nCr(int n, int r){ static unsigned long table = {0}; if(r == 0 || n == r) { return table = 1; } if(r == 1) { return table = n; } if(r > n / 2) { return table = ncr(n, n - r); } return table = table + table; } In java, you can use a class and maintain the array outside the function and just use the function similar to above to update that array and return the value in the end.
[Read More]