Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- MySQL
- Linux
- 독후감
- 서평
- Visualization
- 블로그
- 통계학
- SQL
- 서평단
- 티스토리
- MATLAB
- Pandas
- 월간결산
- 리눅스
- Blog
- Python
- Ga
- 한빛미디어서평단
- 시각화
- 매틀랩
- python visualization
- tensorflow
- 한빛미디어
- 파이썬
- Google Analytics
- 텐서플로
- Tistory
- 딥러닝
- matplotlib
- 파이썬 시각화
Archives
- Today
- Total
pbj0812의 코딩 일기
[수학] python을 이용한 파스칼의 삼각형 구현 본문
0. 목표
- python을 이용한 파스칼의 삼각형 구현
1. 이론
- 원본
2. 실습
1) library 호출
import numpy as np
2) 함수 제작
(1) np.zeros 를 이용하여 정사각형 형태의 0으로 이루어진 행렬 생성
(2) 각 행의 처음과 마지막을 1로 채움
(3) inp가 2 보다 작은 경우는 1로만 채워져 있는 경우이기에 제외
(4) 세번째 행부터 시작하여 해당 위치의 숫자는 바로 위 위치에 있는 수와 이전의 수를 합친 결과
def pascal_triangle(inp):
result = np.zeros((inp, inp))
for i in range(inp):
for j in range(inp):
if j == 0:
result[i][j] = 1
elif j == i:
result[i][j] = 1
if inp < 2:
pass
else:
for i in range(2, inp):
for j in range(1, i):
result[i][j] = result[i - 1][j - 1] + result[i - 1][j]
return result
3. 결과
1) 1
print(pascal_triangle(1))
- 결과
[[1.]]
2) 3
print(pascal_triangle(3))
- 결과
[[1. 0. 0.]
[1. 1. 0.]
[1. 2. 1.]]
3) 10
print(pascal_triangle(10))
- 결과
[[ 1. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[ 1. 1. 0. 0. 0. 0. 0. 0. 0. 0.]
[ 1. 2. 1. 0. 0. 0. 0. 0. 0. 0.]
[ 1. 3. 3. 1. 0. 0. 0. 0. 0. 0.]
[ 1. 4. 6. 4. 1. 0. 0. 0. 0. 0.]
[ 1. 5. 10. 10. 5. 1. 0. 0. 0. 0.]
[ 1. 6. 15. 20. 15. 6. 1. 0. 0. 0.]
[ 1. 7. 21. 35. 35. 21. 7. 1. 0. 0.]
[ 1. 8. 28. 56. 70. 56. 28. 8. 1. 0.]
[ 1. 9. 36. 84. 126. 126. 84. 36. 9. 1.]]
4. 참고
'Science > 수학' 카테고리의 다른 글
[수학] python을 이용한 십진법 변환기 제작 (0) | 2020.09.26 |
---|---|
[수학] python으로 최대공약수, 최소공배수 구하기(사람처럼 생각하기) (0) | 2020.09.25 |
[수학] python을 이용한 집합 연산하기 (0) | 2020.09.22 |
[수학] 최단 연결법 계산을 통한 덴드로그램 그리기 (0) | 2020.09.08 |
[수학] python으로 유클리드 거리 계산하기 (0) | 2020.09.07 |
Comments