Answer:
I am writing a JAVA program.
import java.util.Scanner; // this class is used here to take input from user
import java.util.ArrayList; // used to create dynamic arrays
public class PascalTriangle{ // class to print nth line of pascal's triangle
/* function line() that takes the line index (line_no) as parameter and finds the nth line (find line at given index line_no) in the Pascal's Triangle */
public static ArrayList<Integer> line(int line_no) {
//declares ArrayList of integers
ArrayList<Integer> current_line = new ArrayList<Integer>();
current_line.add(1); // sets the element of every line to 1
/* if conditions checks if the input n-th line is the first line which means it checks if the line to be returned is the 1st one */
if (line_no == 0) {
return current_line; //returns the first line/row}
/* the following statement produces the previous line by passing the index position (line_no-1) of that line as a parameter of line() method */
ArrayList<Integer> previous = line(line_no - 1);
/* the loop has i variable which is initialized to 1 and this loop continues to execute until the value of i gets greater than or equal to the size of previous line */
for (int i = 1; i < previous.size(); i++) { //start of the loop
/* the following statement computes the current line based on the previous line of the Pascal triangle and this is a recursive part. This will compute the elements of the current line based on previous line and store these elements in present*/
int present = previous.get(i - 1) + previous.get(i);
//adds the elements computed by the above line to the current_line. this means it adds each element of present to current_line. For example if the n-th line is 5 then it the elements at 6th row of pascals triangle are found and returned considering the topmost line the "0th"
line */
current_line.add(present); }
current_line.add(1);
return current_line; }
//returns current line i.e. n-th line of pascal triangle
public static void main(String[] args) { //start of main() function body
Scanner scan = new Scanner(System.in); // create Scanner class object
/* prompts user to enter integer n as input to return the nth line of Pascal's triangle */
System.out.print("Enter·line·of·Pascal's·Triangle·to·print: ");
int n = scan.nextInt(); //scans and reads the input integer
// calls line function to return the n-th line of Pascal triangle
ArrayList<Integer> array = line(n);
for (int i = 0; i < array.size(); i++) { /* loop iterates through the array until the loop variable i gets equal to or exceeds the array size in order to display the elements of the n-th line of pascal triangle where n is integer input */
System.out.print(array.get(i)+ "."); } } } //prints the elements of n-th line
/* get() method gets the elements of nth line and . is used to seperate each element with a dot. */
Explanation:
The program is well explained in the comments mentioned with each statement of the program. The program has a function line() that takes as argument the index line_no which is the nth line of Pascal's triangle whose elements are to be displayed. The program computes the line of the previous line number (index) first using recursion. After this the values of the current line is computed with the help of the previous one. This is iterated using a loop until the nth line. In the main() method user is prompted to enter integer n and then line() method is called by passing the n integer to the function to display the elements of this n-th line in pascal's triangle. loop is used to iterate through the entire array and get() method gets the elements of nth line of array and . is used to separate each element with a dot. The program and output is attached in a screenshot.