백준공부/java

[백준] 2023번 신기한 소수 (gold 5

gomduri43 2023. 7. 2. 00:02

import java.io.*;
import java.util.*;

public class Main{
    static StringBuilder sb=new StringBuilder("");
    static int n;
    public static void main(String[] args) throws IOException{
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));

        n=Integer.parseInt(br.readLine());
        dfs(2,1);
        dfs(3,1);
        dfs(5,1);
        dfs(7,1);
        bw.write(sb.toString());
        bw.flush();

    }

    public static void dfs(int value,int depth){
        if(depth==n){
            sb.append(value+"\n");
            return;
        }
        for(int i=1; i<=9; i++){
            int temp=value*10+i;
            boolean prime=true;
            for(int j=2; j<=Math.sqrt(temp); j++){
                if(temp%j==0){
                    prime=false;
                    break;
                }
            }
            if(prime){
                dfs(temp,depth+1);
            }
        }
    }
}