본문 바로가기

Python/code problem

[sw expert academy] 2005. 파스칼의 삼각형

https://swexpertacademy.com/main/main.do

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

def my_factorial(n):
    if n>1:
        return n*my_factorial(n-1)
    else:
        return 1

T = int(input())
for t in range(1,T+1):
    N = int(input())
    print("#{}".format(t))
    print(1)
    for n in range(1,N):
        for i in range(n+1):
            print(my_factorial(n)//(my_factorial(n-i)*my_factorial(i)), end=" ")
        print("")

 

고등수학에 나오는 조합을 이용해 풀었다.

조합은 팩토리얼로 이루어진 식으로 바꿀 수 있다.

근데 파이썬에서 팩토리얼함수는 기본 내장함수가 아니다.

math라이브러리에서 import를 해야하는데 sw expert academy 홈페이지에서는 import가 잘 안된다.

그래서 아래의 링크를 보고 팩토리얼 함수를 만들어봤다.

재귀함수다.

 

나머지는 평범하다.

 

이 factorial 함수를 꼭 기억해놔야겠다.

 

 

[출처]

-factorial

https://manniz.tistory.com/entry/Python%ED%8C%8C%EC%9D%B4%EC%8D%AC-%ED%8C%A9%ED%86%A0%EB%A6%AC%EC%96%BCfactorial-%EA%B5%AC%ED%98%84-3%EA%B0%80%EC%A7%80-%EB%B0%A9%EB%B2%95for%EC%9E%AC%EA%B7%80math%EC%86%8C%EC%8A%A4-%EC%BD%94%EB%93%9C