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

파이썬에서 파스칼의 삼각형의 n번째 행을 찾는 프로그램

<시간/>

숫자 n이 있다고 가정하면 파스칼 삼각형의 n번째(0인덱스) 행을 찾아야 합니다. Pascal의 삼각형은 다음과 같이 생성될 수 있다는 것을 알고 있습니다. -

  • 상단 행에는 1의 배열이 있습니다.
  • 위, 왼쪽에 위, 오른쪽에 숫자를 더하면 다음 행이 됩니다.

따라서 몇 개의 행은 다음과 같습니다 -

파이썬에서 파스칼의 삼각형의 n번째 행을 찾는 프로그램

따라서 입력이 4와 같으면 출력은 [1, 4, 6, 4, 1]

이 됩니다.

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

  • n이 0과 같으면
    • 반환 [1]
  • n이 1과 같으면
    • [1,1] 반환
  • ls:=[1,1]이 있는 목록, temp:=[1,1]이 있는 목록
  • 2 ~ n+1 범위의 i에 대해
    • ls:=임시
    • temp:=하나의 값이 있는 목록 =1
    • 0에서 ls -1 크기의 범위에 있는 i에 대해
      • ls[i],ls[i+1]을 병합하고 temp의 끝에 삽입
    • temp의 끝에 1 삽입
  • 반환 온도

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

class Solution:
   def solve(self, n):
      if n==0:
         return [1]
      if n==1:
         return [1,1]
      ls=[1,1]
      temp=[1,1]
      for i in range(2,n+1):
         ls=temp
         temp=[1]
         for i in range(len(ls)-1):
            temp.append(ls[i]+ls[i+1])
         temp.append(1)
      return temp
ob = Solution()
print(ob.solve(4))

입력

4

출력

[1, 4, 6, 4, 1]