fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. static final int limit = 10; // longの範囲の関係で最大18まで
  11.  
  12. static final long limitN = (long) Math.pow(10, limit);
  13. static final int[] primeList = { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61 };
  14. static final long[][] primePowTable = new long[primeList.length][10];
  15. static
  16. {
  17. for (int i = 0; i < primeList.length; i++)
  18. {
  19. primePowTable[i][0] = 1;
  20. for (int j = 1; j < 10; j++)
  21. primePowTable[i][j] = primePowTable[i][j - 1] * primeList[i];
  22. }
  23. }
  24.  
  25. static void f()
  26. {
  27. for (int i = 1; i < 10; i++)
  28. {
  29. f(i, primePowTable[0][i], 1);
  30. }
  31. }
  32.  
  33. static void f(long i, long j, int k)
  34. {
  35. if (i == j) System.out.println(i);
  36. if (j < 0 || j >= limitN || k == limit) return;
  37.  
  38. i *= 10;
  39. for (int l = 0; l < 10; l++)
  40. {
  41. f(i + l, j * primePowTable[k][l], k + 1);
  42. }
  43. }
  44.  
  45. public static void main(String[] args)
  46. {
  47. f();
  48. }
  49. }
Success #stdin #stdout 0.16s 320320KB
stdin
Standard input is empty
stdout
81312000