문제 4524 · 바이트 III
학원의 모둠 정원표
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 학원은 오전 수업과 오후 수업에서 모둠 활동을 진행한다. 오전 수업에는 A명, 오후 수업에는 B명의 수강생이 참여한다. 두 수업의 수강생은 서로 섞지 않으며, 각 수업 안에서만 모둠을 만든다. 담당자는 두 시간대에 같은 크기의 활동 도구를 준비하기 위해 모든 모둠의 정원을 하나의 값으로 통일하려 한다. 정원을 g명으로 정했다면 오전 수강생 A명을 g명씩 나누고, 오후 수강생 B명도 g명씩 나눈다. 두 수업 모두 남는 사람이 없어야 한다. 정원보다 적은 인원으로 이루어진 마지막 모둠을 따로 만드는 것은 허용하지 않는다. 또한 한 사람이 여러 모둠에 들어가거나, 모둠에 참여하지 않는 수강생이 생겨서도 안 된다. 교실의 책상 배치 때문에 한 모둠의 정원은 K명 이하여야 한다. 정원은 1명 이상인 정수이며, 혼자 활동하는 모둠도 허용한다. 오전과 오후에 만들어지는 모둠의 개수는 달라도 된다. 예를 들어 어떤 정원이 오전에는 네 모둠을 만들고 오후에는 여섯 모둠을 만들더라도, 두 수업에서 모두 남는 사람이 없고 정원 제한을 지키면 사용할 수 있다. 담당자가 알고 싶은 값은 사용할 수 있는 서로 다른 정원의 개수다. 수강생을 실제로 어떤 사람끼리 묶는지는 세지 않으며, 모둠에 번호를 붙이는 방법도 고려하지 않는다. 같은 정원을 이용하는 배치가 여러 가지여도 그 정원은 한 번만 센다. 정원이 서로 다르면 각각 별개의 선택으로 센다. 가능한 정원이 하나뿐인 경우에도 그 개수를 그대로 출력한다. A, B, K가 주어졌을 때 두 수업에서 공통으로 사용할 수 있는 정원이 몇 개인지 구하는 프로그램을 작성한다.
입력
첫째 줄에 정수 A, B, K가 공백으로 구분되어 주어진다. 1 ≤ A, B, K ≤ 100,000이다.
출력
1 이상 K 이하인 정수 중에서 A와 B를 모두 나누어떨어지게 하는 정수의 개수를 출력한다.
예제 입력 1
24 36 8
예제 출력 1
5
예제 입력 2
17 25 100
예제 출력 2
1
예제 입력 3
36 72 6
예제 출력 3
5
힌트 펼치기
- 가능한 정원은 A와 B의 공약수다.
- A와 B의 최대공약수를 구하면, 그 수의 약수 중 K 이하인 것만 세면 된다.
관련 서재 장
알고리즘 분류
정수론약수풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |