문제 3506 · 비트 I
주차 구역의 묶음 표지
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
어느 주차장에는 동쪽 구역과 서쪽 구역이 있다. 동쪽 구역에는 주차 칸이 A개 있고, 서쪽 구역에는 주차 칸이 B개 있다. 관리인은 각 구역의 주차 칸을 일정한 개수씩 묶어, 묶음마다 안내 표지를 하나씩 세우려고 한다. 두 구역에는 같은 크기의 묶음을 사용해야 한다. 묶음의 크기를 d라고 하면, 각 묶음은 정확히 d개의 주차 칸으로 이루어져야 한다. 동쪽 구역의 모든 주차 칸을 남김없이 묶을 수 있어야 하고, 서쪽 구역의 모든 주차 칸도 남김없이 묶을 수 있어야 한다. 한 묶음에 두 구역의 주차 칸을 섞어 넣을 수는 없다. 일부 칸을 묶음에서 제외하거나 부족한 칸을 임시로 추가하는 것도 허용하지 않는다. 주차 칸은 각 구역에서 한 줄로 놓여 있으므로, 구역의 처음부터 d개씩 차례로 묶으면 된다. 주차 칸의 위치나 차량이 현재 주차되어 있는지는 따지지 않는다. 따라서 묶음 크기를 정한 뒤에는 각 구역의 칸 수를 그 크기로 나누었을 때 남는 칸이 있는지만 확인하면 된다. 묶음의 개수는 동쪽과 서쪽이 서로 달라도 된다. 관리인은 안내 표지의 규격 때문에 묶음 크기를 L 이상 U 이하인 정수로 제한한다. 이 범위 안에서 두 구역에 모두 사용할 수 있는 묶음 크기가 몇 가지인지 알고 싶어 한다. 크기가 서로 다르면 서로 다른 방법으로 세며, 같은 크기로 표지를 배치하는 순서가 달라지는 것은 별도의 방법으로 세지 않는다. A, B, L, U가 주어질 때 조건을 만족하는 묶음 크기의 개수를 구한다. 허용된 범위 안에 사용할 수 있는 크기가 하나도 없다면 0을 출력한다. 가장 큰 크기나 필요한 표지의 총개수가 아니라, 사용할 수 있는 크기의 가짓수를 구해야 한다.
입력
첫째 줄에 정수 A, B, L, U가 공백으로 구분되어 주어진다. 1 ≤ A, B ≤ 1,000이고, 1 ≤ L ≤ U ≤ 1,000이다.
출력
L 이상 U 이하인 정수 중 A와 B를 모두 나누어떨어지게 하는 정수의 개수를 출력한다.
예제 입력 1
24 36 2 8
예제 출력 1
4
예제 입력 2
14 25 2 10
예제 출력 2
0
예제 입력 3
9 9 3 3
예제 출력 3
1
힌트 펼치기
- L부터 U까지의 모든 정수를 확인한다.
- 어떤 크기로 나눈 나머지가 두 구역에서 모두 0이어야 한다.
관련 서재 장
알고리즘 분류
약수완전 탐색풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |