Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 파스칼의 삼각형을 생성하는 프로그램

<시간/>

숫자 n이 있다고 가정합니다. 파스칼의 삼각형을 n줄까지 생성해야 합니다. 파스칼의 삼각형은 다음과 같을 것입니다 -

파이썬에서 파스칼의 삼각형을 생성하는 프로그램

파스칼의 삼각형의 속성은 이전 행의 인접한 두 숫자의 합이 두 번째 행 바로 아래에 있는 숫자의 값입니다. 예를 들어, 6행의 처음 10은 5행의 4와 6의 합이고 두 번째 10은 5행의 두 숫자 6과 4의 합입니다.

따라서 입력이 n =5와 같으면 출력은

    1
   1 1
  1 2 1
 1 3 3 1
1 4 6 4 1

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • 0 ~ n+1 범위의 i에 대해
    • 0 ~ n-i 범위의 j에 대해
      • 공백 하나 인쇄
    • C :=1
    • 1~i+1 범위의 j에 대해 다음을 수행합니다.
      • C를 인쇄한 다음 공백 한 칸
      • C :=(C *(i - j) / j)의 몫
    • 다음 줄로 이동

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

def solve(n):
   for i in range(n+1):
      for j in range(n-i):
         print(' ', end='')

      C = 1
      for j in range(1, i+1):
         print(C, ' ', sep='', end='')
         C = C * (i - j) // j
      print()

n = 5
solve(n)

입력

5

출력

    1
   1 1
  1 2 1
 1 3 3 1
1 4 6 4 1