팩토리얼 (2) 썸네일형 리스트형 ( Python ) 백준 1676번 https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net N = int(input()) sum = 1 for i in range(1,N+1): sum *=i sum1 = list(str(sum)) print(sum1.count('0')) N = int(input()) sum = 1 num = 0 for i in range(1,N+1): sum *=i for j in range(len(str(sum))): if sum%10 !=0: break sum//=10 num+=1 print(num) 첫 풀이가 오답인 이유는 sum1의 값에서 0의 개.. c언어 재귀함수의 이해 우선 팩토리얼 이란? 4! = 4 x 3 x 2 x 1 과 같다. 즉 4! = 4 x (4-1)! 이고 이는 4 x 3! 과 같다. 그러면 1!은? 1이다. 1!을 위와 같은 식으로 표현해 보면 1 x (1 - 1)! 이고 이는 1 x 0! 과 같다. 즉 0! = 1이 된다. 128행을 보면 factorial(1)이 있는데 116행의 factorial 함수에 1의 인자를 받을 int n이 있다. 이 함수에 1이 들어가면 우선, 1 * factorial( 1 - 1)이 시행이 된다. factorial(0)이 다시 호출되어 factorial(0)을 시행한다. 그런데 n ==0이면 1을 반환하므로 1이 앞으로 반환된다. 즉 1 * 1 = 1 이되어 128 행의 출력값은 1이된다. 131행에서는 factoria.. 이전 1 다음