티스토리 뷰

반응형
 

10872번: 팩토리얼

0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.

www.acmicpc.net

x = int(input())
a = 1
for i in range(1,x+1):
    a = i*a
print(a)

팩토리얼의 개념은 1부터 n까지 곱한 수이다.

for 루프를 사용해서 곱해준다. 이때, 주의할 것이 있는데 x가 0이나 1이라면 1을 출력해야 한다.

그렇기에 a를 먼저 1로 잡아주고, range 함수는 range(1,x+1) 이렇게 있다면 1부터 x까지만 i에 넣고, 시작과 끝이 같다면 시작 숫자 한번만 i에 넣는다.

따라서 x가 0일때 range(1,1)은 1 하나만 들어가고, x가 1일때는 range(1,2)도 1 하나만 들어간다.

 

팩토리얼의 개념은 여러 문제에서 많이 쓰이므로 내가 쓸 수 있는 함수로 만들어야 할 때가 많다. 형태를 외워두도록 하자.

반응형