• 문제
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
조건
1. 첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다.
2. 첫째 줄에 N!을 출력한다.

 

  • 코드
# 입력부
fact=int(input());

# 처리부
result=1; #n*0은 0이므로 1을 대입

for i in range(1,fact):
    result*=i;

# 출력부
print(result);

 

  • 풀이과정

수학적 의미에 기초하여 n*(n-1)*...*1 로 계산하였다. (실제론 1부터 n까지 올라가며 계산하기 했다만,,,)

 

  • 여담

이 문제는 푸는 방식은 다양하게 있을 것이다.

뭐 나 처럼 단순하게 1부터 n까지 곱하는 사람도 있을 것이며, 재귀함수를 쓰는 사람도 있을 것이며, 뭐 함수호출 등등,,

 

간단한게 최고라고 생각하기에,

그냥 1부터 n까지 곱하는 방식으로...

 


코드가 이상하거나, 이해되지 않는 부분은 언제든 댓글 남겨주세요! :)

+ Recent posts