[Numpy] 넘파이의 ndarray로 구현하는 파스칼의 삼각형

KingU·2022년 5월 18일
0

Python

목록 보기
10/11
post-thumbnail

넘파이의 ndarray로 구현하는 파스칼 삼각형






파스칼의 삼각형:


구하고자 하는 위치 양 옆의 상단에 있는 수의 합을 삼각형으로 표현한 것






구현 방법


def Pascal(w, h, result): # 파스칼 함수 생성
  for i in range(1, h):	# row 범위 지정
    for j in range(w): #col 범위 지정
        result[i, j] = result[i-1, j-1] + result[i-1, j+1]
    result[h-1, w] = 1 # 맨 끝의 행렬에 1 추가
  print(result)


h = int(input()) # 행 갯수 입력
w = 2*h-1 # 열 갯수 
result = np.zeros((h, w)) # 행과 열의 갯수에 맞게 ndarray 생성하여 0으로 리셋

result[0, w//2] = 1

Pascal(w-1, h, result)






시각화


# RGB 값으로 넣기
pascal = np.zeros((h, w, 3)) 
for i in range(len(result)):
  for j in range(len(result[i])):
    if result[i][j]:
      pascal[i][j] = [result[i][j]*0.1, 0, 0]
    else:
      pascal[i][j] = [1, 1, 1]

fig = plt.figure()
plt.imshow(pascal)
plt.show






소스코드

Link: Pascal's Triangle






당신의 시간이 헛되지 않는 글이 되겠습니다.
I'll write something that won't waste your time.

profile
원하는 것을 창조하고 창조한 것을 의미있게 사용하자

0개의 댓글

관련 채용 정보