输出指定数字随意组合 算法一 (参考数字进制转换)
public class Tests20200317 {
   private static String RANGE = "0123456";
   public static void main(String[] args) {
      Test1();
   }
   private static void Test1() {
      int length = RANGE.length();
      Set<String> set = new HashSet<>();
      for (int i = 0; i < 9999; i++) {
         String p = "";
         int lave = i;
         int val = i % length;
         p = RANGE.charAt(val) + p;
         lave /= length;
         while (lave != 0) {
            val = lave % length;
            p = RANGE.charAt(val) + p;
            lave /= length;
         }
         set.add(p);
         System.out.println(p);
      }
      System.out.println(set.size());
   }
}
打印
0 1 2 3 4 5 6 10 11 12 13 14 15 16 20 21 22 23 24 25 26 30 31 32 33 34 35 36 40 41 42 43 44 45 46 50 51
缺点
缺少 00;01 等组合
调整取值范围
private static String RANGE = "00123456";
可以改善这一问题,但是出现了重复数据
64 65 66 000 000 001 002 003
                    
                
                
            
        
浙公网安备 33010602011771号