From a65aec1713cff42b23a2eb392f89bd6163e2da9c Mon Sep 17 00:00:00 2001 From: alichoopani Date: Sat, 30 Jan 2021 16:52:25 +0330 Subject: [PATCH] khayyam-pascal-triangle in java --- .../KhayyamPascalTriangle.java | 24 ++++++++++++++ .../KhayyamPascalTriangleMatrix.java | 31 +++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 khayyam_pascal_triangle/KhayyamPascalTriangle.java create mode 100644 khayyam_pascal_triangle/KhayyamPascalTriangleMatrix.java diff --git a/khayyam_pascal_triangle/KhayyamPascalTriangle.java b/khayyam_pascal_triangle/KhayyamPascalTriangle.java new file mode 100644 index 0000000..96607e1 --- /dev/null +++ b/khayyam_pascal_triangle/KhayyamPascalTriangle.java @@ -0,0 +1,24 @@ +import java.util.Scanner; + +public class KhayyamPascalTriangle +{ + + public static void main(String... args) { + Scanner sc = new Scanner(System.in); + System.out.print("insert number: "); + Integer input = sc.nextInt(); + printKhayyam(input); + } + + private static void printKhayyam(Integer i) { + for (int j = 1; j <= i; j++) { + for (int k = 1; k <= j; k++) + System.out.print(getKhayyam(k, j) + " "); + System.out.println(); + } + } + + private static Integer getKhayyam(Integer i, Integer j) { + return (i == 1 || i == j) ? 1 : getKhayyam(i - 1, j - 1) + getKhayyam(i, j - 1); + } +} diff --git a/khayyam_pascal_triangle/KhayyamPascalTriangleMatrix.java b/khayyam_pascal_triangle/KhayyamPascalTriangleMatrix.java new file mode 100644 index 0000000..1d63ee7 --- /dev/null +++ b/khayyam_pascal_triangle/KhayyamPascalTriangleMatrix.java @@ -0,0 +1,31 @@ +import java.util.Scanner; + +public class KhayyamPascalTriangleMatrix +{ + + public static void main(String... args) { + Scanner sc = new Scanner(System.in); + System.out.print("insert number: "); + Integer input = sc.nextInt(); + printKhayyam(input); + } + + public static void printKhayyam(Integer i) { + Integer[][] matrix = new Integer[i + 1][i + 1]; + matrix[1][1] = 1; + for (int j = 1; j <= i; j++) { + for (int k = 1; k <= j; k++) + System.out.print(getKhayyam(k, j, matrix) + " "); + System.out.println(); + } + + } + + public static Integer getKhayyam(Integer i, Integer j, Integer[][] matrix) { + if (i == 1 || j == i) + matrix[j][i] = 1; + if (matrix[j][i] == null) + matrix[j][i] = getKhayyam(i - 1, j - 1, matrix) + getKhayyam(i, j - 1, matrix); + return matrix[j][i]; + } +}