fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5. class Num implements Comparable<Num>
  6. {
  7. int n;
  8. int[] m = new int[10];
  9.  
  10. public Num()
  11. {
  12. n = 1;
  13. }
  14.  
  15. private Num(Num num, int i)
  16. {
  17. n = num.n * i;
  18. m = Arrays.copyOf(num.m, num.m.length);
  19. m[i]++;
  20. }
  21.  
  22. @Override
  23. public String toString()
  24. {
  25. return String.format("%5d = 1 * 3^%d * 5^%d * 7^%d", n, m[3], m[5], m[7]);
  26. }
  27.  
  28. @Override
  29. public int compareTo(Num o)
  30. {
  31. return Integer.compare(n, o.n);
  32. }
  33.  
  34.  
  35.  
  36. public static void main(String[] args)
  37. {
  38. int[] multiplier = { 3, 5, 7 };
  39.  
  40. TreeSet<Num> result = new TreeSet<Num>();
  41. TreeSet<Num> queue = new TreeSet<Num>();
  42. queue.add(new Num());
  43. while (result.size() < 100)
  44. {
  45. Num num = queue.pollFirst();
  46. result.add(num);
  47.  
  48. for (int i : multiplier)
  49. {
  50. queue.add(new Num(num, i));
  51. }
  52. }
  53.  
  54. for (int i = 1; i <= 100; i++)
  55. {
  56. System.out.printf("%03d: %s%n", i, result.pollFirst());
  57. }
  58. }
  59. }
  60.  
Success #stdin #stdout 0.15s 320576KB
stdin
Standard input is empty
stdout
001:     1 = 1 * 3^0 * 5^0 * 7^0
002:     3 = 1 * 3^1 * 5^0 * 7^0
003:     5 = 1 * 3^0 * 5^1 * 7^0
004:     7 = 1 * 3^0 * 5^0 * 7^1
005:     9 = 1 * 3^2 * 5^0 * 7^0
006:    15 = 1 * 3^1 * 5^1 * 7^0
007:    21 = 1 * 3^1 * 5^0 * 7^1
008:    25 = 1 * 3^0 * 5^2 * 7^0
009:    27 = 1 * 3^3 * 5^0 * 7^0
010:    35 = 1 * 3^0 * 5^1 * 7^1
011:    45 = 1 * 3^2 * 5^1 * 7^0
012:    49 = 1 * 3^0 * 5^0 * 7^2
013:    63 = 1 * 3^2 * 5^0 * 7^1
014:    75 = 1 * 3^1 * 5^2 * 7^0
015:    81 = 1 * 3^4 * 5^0 * 7^0
016:   105 = 1 * 3^1 * 5^1 * 7^1
017:   125 = 1 * 3^0 * 5^3 * 7^0
018:   135 = 1 * 3^3 * 5^1 * 7^0
019:   147 = 1 * 3^1 * 5^0 * 7^2
020:   175 = 1 * 3^0 * 5^2 * 7^1
021:   189 = 1 * 3^3 * 5^0 * 7^1
022:   225 = 1 * 3^2 * 5^2 * 7^0
023:   243 = 1 * 3^5 * 5^0 * 7^0
024:   245 = 1 * 3^0 * 5^1 * 7^2
025:   315 = 1 * 3^2 * 5^1 * 7^1
026:   343 = 1 * 3^0 * 5^0 * 7^3
027:   375 = 1 * 3^1 * 5^3 * 7^0
028:   405 = 1 * 3^4 * 5^1 * 7^0
029:   441 = 1 * 3^2 * 5^0 * 7^2
030:   525 = 1 * 3^1 * 5^2 * 7^1
031:   567 = 1 * 3^4 * 5^0 * 7^1
032:   625 = 1 * 3^0 * 5^4 * 7^0
033:   675 = 1 * 3^3 * 5^2 * 7^0
034:   729 = 1 * 3^6 * 5^0 * 7^0
035:   735 = 1 * 3^1 * 5^1 * 7^2
036:   875 = 1 * 3^0 * 5^3 * 7^1
037:   945 = 1 * 3^3 * 5^1 * 7^1
038:  1029 = 1 * 3^1 * 5^0 * 7^3
039:  1125 = 1 * 3^2 * 5^3 * 7^0
040:  1215 = 1 * 3^5 * 5^1 * 7^0
041:  1225 = 1 * 3^0 * 5^2 * 7^2
042:  1323 = 1 * 3^3 * 5^0 * 7^2
043:  1575 = 1 * 3^2 * 5^2 * 7^1
044:  1701 = 1 * 3^5 * 5^0 * 7^1
045:  1715 = 1 * 3^0 * 5^1 * 7^3
046:  1875 = 1 * 3^1 * 5^4 * 7^0
047:  2025 = 1 * 3^4 * 5^2 * 7^0
048:  2187 = 1 * 3^7 * 5^0 * 7^0
049:  2205 = 1 * 3^2 * 5^1 * 7^2
050:  2401 = 1 * 3^0 * 5^0 * 7^4
051:  2625 = 1 * 3^1 * 5^3 * 7^1
052:  2835 = 1 * 3^4 * 5^1 * 7^1
053:  3087 = 1 * 3^2 * 5^0 * 7^3
054:  3125 = 1 * 3^0 * 5^5 * 7^0
055:  3375 = 1 * 3^3 * 5^3 * 7^0
056:  3645 = 1 * 3^6 * 5^1 * 7^0
057:  3675 = 1 * 3^1 * 5^2 * 7^2
058:  3969 = 1 * 3^4 * 5^0 * 7^2
059:  4375 = 1 * 3^0 * 5^4 * 7^1
060:  4725 = 1 * 3^3 * 5^2 * 7^1
061:  5103 = 1 * 3^6 * 5^0 * 7^1
062:  5145 = 1 * 3^1 * 5^1 * 7^3
063:  5625 = 1 * 3^2 * 5^4 * 7^0
064:  6075 = 1 * 3^5 * 5^2 * 7^0
065:  6125 = 1 * 3^0 * 5^3 * 7^2
066:  6561 = 1 * 3^8 * 5^0 * 7^0
067:  6615 = 1 * 3^3 * 5^1 * 7^2
068:  7203 = 1 * 3^1 * 5^0 * 7^4
069:  7875 = 1 * 3^2 * 5^3 * 7^1
070:  8505 = 1 * 3^5 * 5^1 * 7^1
071:  8575 = 1 * 3^0 * 5^2 * 7^3
072:  9261 = 1 * 3^3 * 5^0 * 7^3
073:  9375 = 1 * 3^1 * 5^5 * 7^0
074: 10125 = 1 * 3^4 * 5^3 * 7^0
075: 10935 = 1 * 3^7 * 5^1 * 7^0
076: 11025 = 1 * 3^2 * 5^2 * 7^2
077: 11907 = 1 * 3^5 * 5^0 * 7^2
078: 12005 = 1 * 3^0 * 5^1 * 7^4
079: 13125 = 1 * 3^1 * 5^4 * 7^1
080: 14175 = 1 * 3^4 * 5^2 * 7^1
081: 15309 = 1 * 3^7 * 5^0 * 7^1
082: 15435 = 1 * 3^2 * 5^1 * 7^3
083: 15625 = 1 * 3^0 * 5^6 * 7^0
084: 16807 = 1 * 3^0 * 5^0 * 7^5
085: 16875 = 1 * 3^3 * 5^4 * 7^0
086: 18225 = 1 * 3^6 * 5^2 * 7^0
087: 18375 = 1 * 3^1 * 5^3 * 7^2
088: 19683 = 1 * 3^9 * 5^0 * 7^0
089: 19845 = 1 * 3^4 * 5^1 * 7^2
090: 21609 = 1 * 3^2 * 5^0 * 7^4
091: 21875 = 1 * 3^0 * 5^5 * 7^1
092: 23625 = 1 * 3^3 * 5^3 * 7^1
093: 25515 = 1 * 3^6 * 5^1 * 7^1
094: 25725 = 1 * 3^1 * 5^2 * 7^3
095: 27783 = 1 * 3^4 * 5^0 * 7^3
096: 28125 = 1 * 3^2 * 5^5 * 7^0
097: 30375 = 1 * 3^5 * 5^3 * 7^0
098: 30625 = 1 * 3^0 * 5^4 * 7^2
099: 32805 = 1 * 3^8 * 5^1 * 7^0
100: 33075 = 1 * 3^3 * 5^2 * 7^2