1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
class Program { static void Main(string[] args) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("Decimal\tSerialLength\tHexadecimal\r\n"); long val = 1, maxnum = 46655;//1~ZZZ for (long i = 1; i <= maxnum; i++) { stringBuilder.Append( $"{i}\t3\t{ConvertTo36(i).PadLeft(3,'0')}\r\n"); Console.WriteLine(i); } System.IO.File.WriteAllText("./NumPools.text", stringBuilder.ToString()); } /// <summary> /// 10進制轉36進制 /// </summary> /// <param name="i">10進制值</param> /// <returns>36進制值</returns> public static string ConvertTo36(long i) { string s = ""; long j = 0; while (i >= 36) { j = i % 36; if (j < 10) s += j.ToString(); else s += Convert.ToChar(j + 87); i = i / 36; } if (i < 10) s += i.ToString(); else s += Convert.ToChar(i + 87); Char[] c = s.ToCharArray(); Array.Reverse(c); return Convert.ToString(new string(c)).ToUpper(); } } |