파스칼의 삼각형은 이항 계수의 수학적 배열을 삼각형 형태로 나타낸 것입니다. 프랑스의 수학자 블레즈 파스칼의 이름을 따서 명명된 이 도구는 간단하면서도 강력하여, 이항 계수를 시각적으로 나타내는 데 중요한 역할을 합니다. 이는 조합론에서만 중요한 것이 아니라, 이항 전개, 확률 등 다양한 수학 문제를 해결하는 데에도 활용됩니다.
파스칼의 삼각형은 최상단에 1 하나로 시작합니다. 각 후속 행은 1로 시작하고 끝나며, 삼각형 안의 각 숫자는 바로 위 행의 두 숫자를 합산하여 구성됩니다. 삼각형은 다음과 같이 시작됩니다:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
파스칼의 삼각형의 각 항목은 이항 계수 (\binom{n}{k})와 동일합니다. 여기서 n은 행 번호이고 k는 해당 행에서의 위치를 나타냅니다. 이항 계수는 다음과 같이 계산됩니다:
그러나 파스칼의 삼각형에서는 다음과 같은 재귀적 관계를 사용하여 간단하게 계산됩니다:
n번째 행의 요소와 직접적으로 일치합니다.n개 항목 중 k개를 선택하는 방법의 수를 쉽게 결정할 수 있습니다.다음은 주어진 행 수까지 파스칼의 삼각형을 생성하고 출력하는 간단한 Java 프로그램입니다:
import java.util.Scanner;
public class PascalTriangle {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("행의 수를 입력하세요: ");
int numRows = scanner.nextInt();
printPascalsTriangle(numRows);
scanner.close();
}
private static void printPascalsTriangle(int numRows) {
int[][] triangle = new int[numRows][numRows];
for (int i = 0; i < numRows; i++) {
triangle[i][0] = 1; // 각 행의 시작은 1
triangle[i][i] = 1;
// 각 행의 끝은 1
for (int j = 1; j < i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
for (int i = 0; i < numRows; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(triangle[i][j] + " ");
}
System.out.println();
}
}
}