fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5. class Ideone
  6. {
  7. static int t1;
  8.  
  9. private static boolean isPrime(int n){
  10. for(int i = 2;i<=(int)Math.sqrt(n);i++){
  11. if(n % i == 0) return false;
  12. }
  13. return true;
  14. }
  15.  
  16. private static void dfs(int num,int digit){
  17. if(digit == t1){
  18. if(isPrime(num)){
  19. //System.out.println(num);
  20. }
  21. return;
  22. }
  23.  
  24. for(int i = 1 ;i < 10 ;i++){
  25. //짝수일 경우 pass
  26. if(i % 2 == 0){
  27. continue;
  28. }
  29. //홀수일 경우
  30. //자릿수를 늘려 재귀 진행
  31. if(isPrime(num*10+i)){
  32. System.out.println("num: " + num);
  33. System.out.println("i: " + i);
  34. dfs(num*10+i,digit+1);
  35. }
  36.  
  37. }
  38.  
  39. }
  40.  
  41.  
  42. public static void main (String[] args) throws java.lang.Exception
  43. {
  44. StringTokenizer st = new StringTokenizer(br.readLine());
  45.  
  46.  
  47. t1 = Integer.parseInt(st.nextToken());
  48.  
  49. dfs(2,1);
  50. dfs(3,1);
  51. dfs(5,1);
  52. dfs(7,1);
  53.  
  54. }
  55. }
Success #stdin #stdout 0.17s 55684KB
stdin
4
stdout
num: 2
i: 3
num: 23
i: 3
num: 233
i: 3
num: 233
i: 9
num: 23
i: 9
num: 239
i: 3
num: 239
i: 9
num: 2
i: 9
num: 29
i: 3
num: 293
i: 9
num: 3
i: 1
num: 31
i: 1
num: 311
i: 9
num: 31
i: 3
num: 313
i: 7
num: 31
i: 7
num: 3
i: 7
num: 37
i: 3
num: 373
i: 3
num: 373
i: 9
num: 37
i: 9
num: 379
i: 3
num: 379
i: 7
num: 5
i: 3
num: 5
i: 9
num: 59
i: 3
num: 593
i: 9
num: 59
i: 9
num: 7
i: 1
num: 71
i: 9
num: 719
i: 3
num: 7
i: 3
num: 73
i: 3
num: 733
i: 1
num: 733
i: 3
num: 73
i: 9
num: 739
i: 3
num: 7
i: 9
num: 79
i: 7