728x90
문제
https://www.acmicpc.net/problem/6219
접근 방법
- 소수를 먼저 B범위 만큼 구해주고, 소수 안에서 D가 포함되어있는지 찾으면 되는 문제이다.
코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
private static StringBuilder sb;
private static BufferedReader br;
private static StringTokenizer st;
private static int A,B;
private static String D;
private static boolean[]isPrime;
private static int count = 0;
public static void primeCheck(){
Arrays.fill(isPrime,true);
isPrime[0] = false;
isPrime[1] = false;
for(long i = 2; i < B+1 ; i++){
if(!isPrime[(int)i]) continue;
for(long j = i*i ; j < B+1 ; j+=i){
isPrime[(int)j] = false;
}
}
}
//입력
public static void input() throws Exception {
br = new BufferedReader(new InputStreamReader(System.in));
sb = new StringBuilder();
st = new StringTokenizer(br.readLine());
A = Integer.parseInt(st.nextToken());
B = Integer.parseInt(st.nextToken());
D = st.nextToken();
isPrime = new boolean[B+1];
primeCheck();
}
//실행
public static void process() {
for(int i = A ; i <= B; i++){
if(isPrime[i] && String.valueOf(i).contains(D)){
count++;
}
}
System.out.println(count);
}
public static void main(String[] args) throws Exception {
input();
process();
}
}
'코딩테스트 > 백준' 카테고리의 다른 글
[Java] 백준 2003번 : 수들의 합 2 (0) | 2024.05.23 |
---|---|
[Java] 백준 11728번 : 배열 합치기 (0) | 2024.05.23 |
[Java] 백준 15996번 : 팩토리얼 나누기 (0) | 2024.05.21 |
[Java] 백준 9417번 : 최대GCD (0) | 2024.05.21 |
[Java] 백준 1990번 : 소수인팰린드롬 (0) | 2024.05.18 |