날씨가 이렇게 좋은데 한 시간이나 교실에 앉아 있어야 한다니, 별로 내키지 않아요. 짜증이 난 채로 교실에 들어서는데, 칠판에 묘하게 만족스러운 삼각형 모양이 눈에 들어와요. 수학 선생님이 오시기를 기다리는 동안, 삼각형에서 몇 가지 패턴이 눈에 띄지 않을 수 없어요. 바깥쪽 값은 모두 1이고, 줄이 내려갈 때마다 값이 하나씩 늘어나며, 삼각형은 좌우 대칭이에요. 신기하죠!
자리에 앉은 지 얼마 지나지 않아 선생님이 들어오시더니, 이 삼각형이 바로 그 유명한 파스칼의 삼각형이라고 알려주세요.
그다음 한 시간 동안 선생님은 이 삼각형 안에 숨어 있는 놀라운 사실들을 하나씩 알려주세요:
선생님은 반 친구들에게 다른 쓰임새도 찾아보라고 권하시고, 그런 게 훨씬 더 많다고 확신시켜 주세요! 바로 그때 학교 종이 울려요. 지난 한 시간 동안 파스칼의 삼각형을 배우는 데 푹 빠져 있었다는 걸 깨달아요. 가방에서 노트북을 얼른 꺼내 들고 밖으로 나가요. 햇살도, 파스칼의 삼각형이 품은 신비로움도 둘 다 마음껏 즐길 준비가 된 거예요.
이번 과제는 파스칼의 삼각형에서 처음 N개 행을 출력하는 거예요.
파스칼의 삼각형은 양의 정수로 이루어진 삼각형 모양의 배열이에요.
파스칼의 삼각형에서는 한 행에 있는 값의 개수가 그 행의 번호와 같아요(행 번호는 1부터 시작해요). 따라서 첫 번째 행에는 값이 하나, 두 번째 행에는 값이 둘, 이런 식으로 늘어나요.
맨 위의 첫 번째 행에는 값이 하나뿐이에요: 1.
그다음 행의 값들은 이전 행에서 현재 위치의 바로 오른쪽과 바로 왼쪽에 있는 수를 더해서 구해요.
이전 행의 현재 위치 왼쪽이나 오른쪽에 값이 없다면(가장 왼쪽과 가장 오른쪽 위치에서만 이렇게 돼요), 그 위치의 값은 0으로 생각하고 더해요(덧셈에서 사실상 "무시"하는 셈이죠).
파스칼의 삼각형에서 처음 5개 행을 살펴볼까요:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
맨 위 행에는 값이 하나 있고, 그 값은 1이에요.
가장 왼쪽과 가장 오른쪽 값은 앞 행에서 고려할 위치가 하나뿐이에요.
왼쪽 값은 자기 오른쪽 위치를, 오른쪽 값은 자기 왼쪽 위치를 보죠.
맨 위 값이 1이므로, 가장 왼쪽과 가장 오른쪽 값도 모두 1이라는 걸 알 수 있어요.
나머지 값들은 모두 고려할 위치가 두 개예요.
예를 들어 다섯 번째 행(1 4 6 4 1)의 가운데 값은 6이에요. 앞 행에서 그 왼쪽과 오른쪽에 있는 값이 각각 3과 3이기 때문이죠: