123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- namespace CB.Web.tool_old
- {
- public class ToolsUtils
- {
- public static int GetWSCount(string[] Number)
- {
- int result = 0;
- for (int i = 0; i < Number.Length; i++)
- {
- for (int j = i + 1; j < Number.Length; j++)
- {
- if (Convert.ToInt32(Number[i]) % 10 == Convert.ToInt32(Number[j]) % 10)
- result++;
- }
- }
- return 6 - result;
- }
- public static int GetLHCount(string[] Number)
- {
- int lh = 0;
- for (int i = 0; i < Number.Length; i++)
- {
- if (i > 0 && Convert.ToInt32(Number[i]) - Convert.ToInt32(Number[i - 1]) == 1)
- lh++;
- }
- return lh;
- }
- public static string GetZHB(string[] Number)
- {
- int z = 0;
- for (int i = 0; i < Number.Length; i++)
- {
- if (Convert.ToInt32(Number[i]) == 1 || Convert.ToInt32(Number[i]) == 2 || Convert.ToInt32(Number[i]) == 3 || Convert.ToInt32(Number[i]) == 5 || Convert.ToInt32(Number[i]) == 7 || Convert.ToInt32(Number[i]) == 11 || Convert.ToInt32(Number[i]) == 13 || Convert.ToInt32(Number[i]) == 17 || Convert.ToInt32(Number[i]) == 19 || Convert.ToInt32(Number[i]) == 23 || Convert.ToInt32(Number[i]) == 29 || Convert.ToInt32(Number[i]) == 31)
- z++;
- }
- return z.ToString() + ":" + (Number.Length - z).ToString();
- }
- public static string GetDXB(string[] Number)
- {
- return GetDXB(Number, 16);
- }
- public static string GetDXB(string[] Number, int maxmin)
- {
- int d = 0;
- for (int i = 0; i < Number.Length; i++)
- {
- if (Convert.ToInt32(Number[i]) > maxmin)
- d++;
- }
- return d.ToString() + ":" + (Number.Length - d).ToString();
- }
- public static string GetJOB(string[] Number)
- {
- int o = 0;
- for (int i = 0; i < Number.Length; i++)
- {
- if (Convert.ToInt32(Number[i]) % 2 == 0)
- o++;
- }
- return (Number.Length - o).ToString() + ":" + o.ToString();
- }
- public static int GetAC(string[] kjh)
- {
- List<string> result = GetCombination(kjh, 2);
- ArrayList acarray = new ArrayList();
- int tpac = 0;
- for (int i = 0; i < result.Count; i++)
- {
- string[] tp = result[i].Split(',');
- int tmp = Math.Abs(Convert.ToInt32(tp[0]) - Convert.ToInt32(tp[1]));
- if (!acarray.Contains(tmp))
- {
- tpac++;
- acarray.Add(tmp);
- }
- }
- return tpac - (kjh.Length - 1);
- }
- public static List<string> GetCombination(string[] data, int count)
- {
- Dictionary<string, int> dic = new Dictionary<string, int>();
- List<string> output = new List<string>();
- for (int i = 0; i < data.Length; i++)
- {
- dic.Add(data[i], i);
- }
- SelectN(dic, data, count, 1, ref output);
- return output;
- }
- private static void SelectN(Dictionary<string, int> dd, string[] data, int count, int times, ref List<string> output)
- {
- Dictionary<string, int> dic = new Dictionary<string, int>();
- foreach (KeyValuePair<string, int> kv in dd)
- {
- for (int i = kv.Value + 1; i < data.Length; i++)
- {
- if (times < count - 1)
- {
- dic.Add(kv.Key + "," + data[i], i);
- }
- else
- {
- output.Add(kv.Key + "," + data[i]);
- }
- }
- }
- times++;
- if (dic.Count > 0)
- {
- SelectN(dic, data, count, times, ref output);
- }
- }
- public static ArrayList zuheFilter(ArrayList Number)
- {
- ArrayList tempNumber = new ArrayList();
- ArrayList numArray = new ArrayList();
- string num = string.Empty;
- for (int i = 0; i < Number.Count; i++)
- {
- numArray.Clear();
- for (int a = 0; a < Number[i].ToString().Length; a++)
- {
- numArray.Add(Number[i].ToString().Substring(a, 1));
- }
- numArray.Sort();
- num = numArray[0].ToString() + numArray[1].ToString() + numArray[2].ToString();
- if (!tempNumber.Contains(num.ToString()))
- tempNumber.Add(num);
- }
- Number.Clear();
- Number = tempNumber;
- return Number;
- }
- public static ArrayList zuhe3Filter(ArrayList Number, int zuhe3)
- {
- ArrayList tempNumber = new ArrayList();
- int t1 = 0;
- int t2 = 0;
- int t3 = 0;
- for (int i = 0; i < Number.Count; i++)
- {
- t1 = Convert.ToInt32(Number[i].ToString().Substring(0, 1));
- t2 = Convert.ToInt32(Number[i].ToString().Substring(1, 1));
- t3 = Convert.ToInt32(Number[i].ToString().Substring(2, 1));
- if ((t1 == t2 || t2 == t3 || t1 == t3) && zuhe3 == 0 && !(t1 == t2 && t2 == t3))
- {
- }
- else
- {
- tempNumber.Add(Number[i]);
- }
- }
- Number.Clear();
- Number = tempNumber;
- return Number;
- }
- public static ArrayList zuhe6Filter(ArrayList Number, int zuhe6)
- {
- ArrayList tempNumber = new ArrayList();
- int t1 = 0;
- int t2 = 0;
- int t3 = 0;
- for (int i = 0; i < Number.Count; i++)
- {
- t1 = Convert.ToInt32(Number[i].ToString().Substring(0, 1));
- t2 = Convert.ToInt32(Number[i].ToString().Substring(1, 1));
- t3 = Convert.ToInt32(Number[i].ToString().Substring(2, 1));
- //组六
- if (t1 != t2 && t2 != t3 && t1 != t3 && zuhe6 == 0)
- { }
- else
- { tempNumber.Add(Number[i]); }
- }
- Number.Clear();
- Number = tempNumber;
- return Number;
- }
- public static ArrayList zuhebFilter(ArrayList Number, int zuheb)
- {
- ArrayList tempNumber = new ArrayList();
- int t1 = 0;
- int t2 = 0;
- int t3 = 0;
- for (int i = 0; i < Number.Count; i++)
- {
- t1 = Convert.ToInt32(Number[i].ToString().Substring(0, 1));
- t2 = Convert.ToInt32(Number[i].ToString().Substring(1, 1));
- t3 = Convert.ToInt32(Number[i].ToString().Substring(2, 1));
- //过滤豹子
- if (t1 == t2 && t2 == t3 && t1 == t3 && zuheb == 0)
- { }
- else
- { tempNumber.Add(Number[i]); }
- }
- Number.Clear();
- Number = tempNumber;
- return Number;
- }
- }
- }
|