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]; + } +}