공부/코딩테스트
백준: 10872번 팩토리얼 (Python3)
혼밥맨
2022. 7. 24. 01:29
반응형
백준: 10872번 팩토리얼 (Python3)
팩토리얼 성공
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 | 256 MB | 119962 | 61873 | 51015 | 51.897% |
문제
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다.
출력
첫째 줄에 N!을 출력한다.
예제 입력 1
10
예제 출력 1
3628800
예제 입력 2
0
예제 출력 2
1
힌트
recursion과 for loop의 효율은 비슷하다. 결론은 둘 다 안 좋다. 피할 수 있으면 피하자! 필요할 때에만 쓰자. For loop이 조금 더 낫지 않을까 기대했지만 O complexity는 같은가 보다.
답안 (For loop)
1
2
3
4
5
6
7
8
|
n=int(input())
fact=1
if n<=1:
print(1)
else:
for i in range(1,n+1):
fact=fact*i
print(fact)
|
cs |
답안 (Recursive)
1
2
3
4
5
6
7
|
def factorial(num):
if num==0 or num==1:
return 1
else:
return num*factorial(num-1)
print(factorial(int(input())))
|
cs |
반응형