Below is shown a Pascal's Triangle of height 11.
Basic idea in the pascal's triangle is that the value in any node is the sum of it's two parent.
So it's very close to a Fibonacci series where current value is defined in terms of two previous values.

Code: We print the Pascal's Triangle line-by-line.
Current line is obtained from the previous line by the following simple rules:

Take the previous list of numbers and add 1 to it in the first place.

Loop in the previous list from index 1 to length-1 and replace each arr[i] with arr[i]+arr[i+1]

The modified list has more element by virtue of #1 and can be printed as the new list.

import java.util.ArrayList;
import java.util.List;
public class PascalsTriangle {
public static void main (String args[])
{
// some variable to print the pascal's triangle like a real triangle
int numRows = 20;
int maxNumLen = 8;
int maxNumLenFactor = maxNumLen/2;
// actual list
List <Integer> nums = new ArrayList<Integer> ();
nums.add(1);
// list manipulation and pretty-printing of the list
for (int i=1; i<=numRows; i++)
{
System.out.println("\n");
for (int j=2;j<maxNumLenFactor*(numRows-i); j++)
System.out.print(" ");
nums.add(0, 1);
for (int j=1; j<nums.size()-1; j++)
{
int curr = nums.get(j);
int next = nums.get(j+1);
nums.set(j, curr+next);
System.out.print(String.format ("%8d", curr) + " ");
}
System.out.print(String.format ("%8d",nums.get(nums.size()-1)) + " ");
}
}
}

Got a thought to share or found a bug in the code? We'd love to hear from you: