등차수열에 관한 디리클레의 정리
시간 제한1초메모리 제한128 MB
n의 주어진 구간에서 a*n+b 꼴 항 중 소수인 것의 개수를 센다. 항의 값은 10^12까지 커지고 한 테스트당 항은 최대 10^6개다.
문제
등차수열에 관한 디리클레의 정리는 다음과 같다. 서로소인 두 양의 정수 와 에 대하여, 등차수열 ()에는 무한히 많은 소수가 들어 있다.
소수란 보다 큰 양의 정수 중에서 약수가 과 자기 자신뿐인 수를 말한다.
예를 들어 , 이면 등차수열은 다음과 같다.
수열의 앞부분만 보아도 소수가 많이 들어 있음을 알 수 있다.
양의 정수 , 정수 , 그리고 이 주어질 때, 범위에서 가 소수인 항이 몇 개인지 구하는 프로그램을 작성하시오.
입력
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 한 줄에 네 정수 , , , 가 주어진다. 이고 이다. 입력의 마지막 줄에는 하나만 주어지며, 이는 입력의 끝을 뜻한다.
출력
각 테스트 케이스마다 Case x: c 형식으로 한 줄씩 출력한다. 여기서 는 부터 시작하는 테스트 케이스 번호이고, 는 범위에서 이 소수인 항의 개수이다.