1676 팩토리얼 0의 개수

Yohan Kim·2022년 7월 5일
0

문제

n!에서 뒤에서 0이 아닌 숫자가 나올때까지의 0의 갯수를 세는 문제이다.

코드

import sys

def calc( s ):
    arr = s.split("+")
    result = 0
    for i in arr:
        result += int(i)
    return result

input = sys.stdin.readline()
data = input.split("-")

index = 0
answer = 0
while(index < len(data)):
    if(index == 0):
        answer += calc(data[index])
    else:
        answer -= calc(data[index])
    index += 1
print(answer)

풀이

n! 뒤에서 나오는 0의 개수 => 어떤수 * 10의 x제곱 수 => x
즉 10이 몇번 곱해졌냐 찾으면 되는데
10은 2와 5의 배수이므로 2는 항상 충분할 것이다.
따라서 5가 몇번 곱해졌는지 세는 문제이다.

25같은 제곱수가 있기때문에 while문을 사용하였다.

profile
안녕하세요 반가워요!

0개의 댓글