티스토리 뷰
반응형
n 팩토리얼의 값에 5와 2가 몇 개가 들어가있는지 질의하는 문제이다.
그럼 n 팩토리얼에 5, 2가 몇 개 들어가있을 까를 알아야한다.
2를 기준으로, 24! 는 2는 모든 짝수에 들어가있다. 12개
그리고, 4, 8, 12, 16, 20, 24 에 추가적으로 2가 들어가있다. (4 = 22, 8= 222, 12 = 223, 16=224, 20 = 225, 24 = 226) 이 때, 8, 16, 24는 추가적으로 들어가있다. 문제전략은 계속 base를 나눠가면서 몇 개의 2가 남아있는지 세는 것이다.
24 / 2 = 12 <=> (21, .... 212)
12 / 2 = 6 <=> ( 221, .... 226)
6 / 2 = 3 <=> ( 2221, ... 2223)
3 / 2 = 1 <=> ( 2222*1 )
^^..
def get_cnt(base, val):
ans = 0
while val >= base:
ans += val//base
val //= base
return ans
n, m= list(map(int,input().split()))
ans_2 = get_cnt(2, n) - get_cnt(2, m) - get_cnt(2, n-m)
ans_5 = get_cnt(5, n) - get_cnt(5, m) - get_cnt(5, n-m)
print(min(ans_2, ans_5))
반응형
'알고리즘 문제 > implementation' 카테고리의 다른 글
백준 9375 패션왕 신혜빈 (0) | 2022.09.12 |
---|---|
백준 3009 네 번째 점 (0) | 2022.09.10 |
백준 18870 좌표압축 (0) | 2022.09.09 |
leetcode. 3 Longest Substring Without Repeating Characters (0) | 2022.09.06 |
leetcode. 2 Add Two Numbers (0) | 2022.09.05 |
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Discrete Mathematics
- 시뮬레이션
- 로젠
- 백준
- arena simulation
- paul wilton
- grafana cloud
- 자바스크립트
- 대규모 시스템 설계 기초
- flutter
- Propositional and Predicate Logic
- beginning javascript
- 명제논리
- javascript
- 최단경로 알고리즘
- 아레나 시뮬레이션
- 그라파나
- Grafana
- 아레나
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- 이산 수학
- 자바스크립트 예제
- rosen
- 항해99
- Arena
- 데이터 중심 애플리케이션 설계
- 엄청난 인내심과 시뮬레이션을 위한 아레나 툴
- 아레나시뮬레이션
- Simulation
- 이산수학
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함