### Question:
MathUtil { public static final int[] nextPermuate(int n, int k) { return randomData.nextPermutation(n, k); }  static final double nextDouble(); static final double nextGaussionDouble(); static final double nextGaussionDouble(double u, double q); static final int nextGaussionInt(int low, int high); static final int nextGaussionInt(int low, int high, double q); static final int nextGaussionInt2(int low, int high, double q); static final int nextFakeInt(int max); static final int[] nextPermuate(int n, int k); static final Object[] randomPick(Collection<T> collection,
			int count); static final List<T> randomPickShuffle(Collection<T> collection,
			int count); static final Collection<T> randomPickGaussion(
			Collection<T> collection, int count, double q); static final double solveCubicEquation(double a, double b, double c, double d);  }### Answer:
@Test public void testPermute() { int count = 0; int min = 5; HashSet<String> resultSet = new HashSet<String>(); for (int i = 0; i < Integer.MAX_VALUE; i++) { int[] r = MathUtil.nextPermuate(100, 3); if ( r[0] < min || r[1] < min || r[2] < min ) continue; if ( r[0]%5!=0 || r[1]%5!=0 || r[2]%5!=0 ) continue; int sum = (r[0]+r[1]+r[2]); if ( sum >=60 && sum <= 75 ) { String key = (r[0])+"\t"+(r[1])+"\t"+(r[2]); if ( !resultSet.contains(key) ) { System.out.println(key); count++; resultSet.add(key); if ( count>26 ) { break; } } } } }