Exemple #1
0
        private string GetId(string number, Dictionary<string, DmDPC> dict)
        {
            string numberId = string.Empty;
            var digits = number.Trim().ToArray();
            Permutations<char> perm = new Permutations<char>(digits, number.Trim().Length);
            List<string> arranges = perm.Get("");

            foreach (var arrange in arranges)
            {
                if (!dict.ContainsKey(arrange)) continue;
                numberId = arrange;
                break;
            }

            return numberId;
        }
Exemple #2
0
        private string GetId(string number,string numberType, Dictionary<string, DmDPC> dict)
        {
            if (!numberType.Contains("Z"))
                return this.GetId(number, dict);

            string numberId = string.Empty;
            var digits = number.Trim().ToList();
            Permutations<int> perm = new Permutations<int>(digits, digits.Count);
            List<string> arranges = perm.Get("");

            foreach (var arrange in arranges)
            {
                if (!dict.ContainsKey(arrange)) continue;
                numberId = arrange;
                break;
            }

            return numberId;
        }
Exemple #3
0
        /// <summary>
        /// 可重复组合
        /// </summary>
        public static void Cr(string name, string type, int length, string output)
        {
            List<List<int>> lists = length == 2 ? GetPr2() : GetPr3();
            List<string> clist = new List<string>(360);
            foreach (var list in lists)
            {
                Permutations<int> p = new Permutations<int>(list, length);
                List<string> pn = p.Get(",");
                if (pn.Exists(x => clist.Contains(x))) continue;

                clist.Add(list.Format(","));
            }

            if (output.Equals("txt"))
            {
                SaveToText(name, type, clist);
                return;
            }

            SaveToDB(name, type, clist);
        }
Exemple #4
0
        public static void C(string name, string type, int length, string output)
        {
            int count = (int)Math.Pow(10, length);
            List<string> list = new List<string>(10000);
            string format = "D" + length;
            for (int i = 0; i < count; i++)
            {
                var digits = i.ToString(format).ToArray();
                Permutations<char> p = new Permutations<char>(digits, length);
                List<string> pn = p.Get(",");
                if (pn.Exists(x => list.Contains(x))) continue;

                list.Add(i.Format(format, ","));
            }

            if (output.Equals("txt"))
            {
                SaveToText(name, type, list);
                return;
            }

            SaveToDB(name, type, list);
        }