Leta Learns

[Python] 백준 1676번 - 팩토리얼 0의 개수 본문

Coding/백준

[Python] 백준 1676번 - 팩토리얼 0의 개수

leta 2022. 7. 30. 11:34

문제 https://www.acmicpc.net/problem/1676

 

1676번: 팩토리얼 0의 개수

N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.

www.acmicpc.net

import sys
input = sys.stdin.readline

def factorial(n):
    fac = 1
    for i in range(1, n+1):
        fac *= i

    return fac

n = int(input())
ans = factorial(n)
strans = str(ans)
cnt = 0
for i in range(len(strans)-1, -1, -1):
    if strans[i] == '0':
        cnt += 1
    else:
        break

print(cnt)

 

#2022-08-06 (코드 수정)

모각코 글에 어떤 분이 math 모듈에 factorial함수가 있다고 알려주셔서 코드를 수정했다! 다시 한 번 감사합니다.

 

#math 모듈 factorial 함수 사용한 코드

import sys, math
input = sys.stdin.readline

n = int(input())
ans = math.factorial(n)
strans = str(ans)
cnt = 0
for i in range(len(strans)-1, -1, -1):
    if strans[i] == '0':
        cnt += 1
    else:
        break

print(cnt)

 

 

 

 

Comments