1676. 팩토리얼 0의 개수
N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
n!
을 계산한 후 직접 뒤에서부터 0의 개수를 센다.
import math
n = int(input())
n = math.factorial(n)
n = list(map(int, str(n))) #n을 리스트로 변환
ans = 0
for i in n[::-1]: #뒤에서부터 탐색
if i == 0 : ans += 1
else: break
print(ans)
: list(map(int,str(num)))
num = 232443
line = list(map(int,str(num)))
print(line) # [2, 3, 2, 4, 4, 3] 요소가 정수임.
x = 12345
list = list(str(x))
print(list) #['1', '2', '3', '4', '5'] 요소가 문자열임.
list = [1,2,3,4,5]
for i in list[::-1]:
print(i) # 5 4 3 2 1
reversed_list = list[::-1]
list.reverse()
: 원본 리스트가 바뀜.reversed_list = list(reversed(origin_list))
math.factorial()
import math
print(math.factorial(3)) #6
n = int(input())
print(n//5 + n//25 + n//125)
n = 36
일때, n! = 36 x 35 x ... x 3 x 2 x 1
n!
)을 펼쳐놓고 생각해보자. n=36
이라 할때, 36 x 35 x ... x 3 x 2 x 1
(1~36)중에36//5 = 7
개 (5, 10, 15, 20, 25, 30, 35)25=5x5
처럼 하나의 수에 5가 여러번 들어있는 경우가 있다.n//5 + n//25 + n//125