또 뭐하지

백준 1676번 팩토리얼 0의 개수 본문

Study/Coding Test

백준 1676번 팩토리얼 0의 개수

mameul 2024. 11. 19. 20:00
728x90

■ 처음 시도했던 코드는 런타임에러가 났다..

import math

N = int(input())

a = math.factorial(N)

res = 0

while True :
    if a%10 == 0:
        res += 1
        a /= 10
    else :
        break

print(res)

 

■ 새로 제출한 코드는 문자열을 비교하는 방식으로 했다

import math

N = int(input())

a = str(math.factorial(N))

ret = 0

for i in range(len(a)-1,0,-1):
    if a[i] == '0':
        ret += 1
    else :
        break

print(ret)

 

https://hwiyong.tistory.com/360

 

백준 1676번(python)

N = int(input()) print(N//5 + N//25 + N//125) 팩토리얼로 얻을 수 있는 수를 인수 분해 했을때, 0이 늘어나는 순간은 10(2x5)가 곱해지는 순간이다. 따라서 5의 개수를 찾으면 쉽다. 예를 들어, 10!이면 5에서

hwiyong.tistory.com

수학을 잘하면 코드가 단순해진다는걸 또 다시 느낀 문제 ㅠ..

'Study > Coding Test' 카테고리의 다른 글

백준 7568번 덩치  (0) 2024.11.20
백준 2751번 수 정렬하기 2  (0) 2024.11.20
백준 1436번 영화감독 숌  (0) 2024.11.19
백준 28702번 FizzBuzz  (0) 2024.11.11
백준 2775번 부녀회장이 될테야  (0) 2024.11.02