축약 가능한 소수
시간 제한1초메모리 제한512 MB
구간 [a, b] 안에서 왼쪽에서 자른 모든 앞부분이 소수인 정수의 개수를 구합니다.
문제
소수란 서로 다른 약수가 정확히 두 개, 즉 과 자기 자신만을 갖는 양의 정수를 말합니다. 어떤 수 가 수 의 접두사라는 것은, 의 끝에서 자릿수 몇 개를 지워서 를 만들 수 있다는 뜻입니다. 예를 들어 은 의 접두사입니다. 축약 가능한 소수란, 길이가 이 아닌 모든 접두사가 소수인 수를 말합니다. 예를 들어 은 축약 가능한 소수입니다. 비어 있지 않은 접두사 와 이 모두 소수이기 때문입니다.
두 양의 정수 , ()가 주어질 때, 닫힌구간 에 속하면서 축약 가능한 소수인 정수가 몇 개인지 세는 프로그램을 작성하세요.
입력
표준 입력의 한 줄에 두 정수 , ()가 공백으로 구분되어 주어집니다.
출력
이상 이하인 축약 가능한 소수의 개수를 한 줄에 정수 하나로 출력합니다.
힌트
이러한 수는 유한개만 존재합니다. 첫 자리는 한 자리 소수 , , , 중 하나여야 하고, 오른쪽에 자릿수를 하나씩 이어 붙일 때 생기는 수가 모두 소수여야 합니다. 따라서 조건을 만족하는 수를 미리 모두 만들어 둔 뒤, 구간에 속하는 개수를 세면 됩니다.