Ejemplo n.º 1
0
        /// <summary>
        /// [多值多列]设置值通用方法
        /// </summary>
        /// <typeparam name="TEntity">泛型实体</typeparam>
        /// <param name="entity">实体</param>
        /// <param name="indexStart">开奖号开始</param>
        /// <param name="indexEnd">开奖号结束</param>
        /// <param name="count">项中列的个数</param>
        /// <param name="minNum">项最小值</param>
        /// <param name="maxNum">项最大值</param>
        /// <param name="index">项索引</param>
        /// <param name="missNumber">遗漏值</param>
        /// <param name="lastMiss">上期遗漏</param>
        /// <param name="maxMiss">最大遗漏</param>
        /// <param name="times">遗漏次数</param>
        /// <param name="avgMiss">平均遗漏</param>
        private static void GetMultiValue <TEntity>(TEntity entity, int indexStart, int indexEnd, int minNum, int maxNum, int[] index, int[] missNumber, int[] lastMiss, int[] maxMiss, int[] times, int[] avgMiss, int RecordCount) where TEntity : LotteryOpenCode
        {
            IList <int> list = LotteryUtils.GetOpenCodeList <TEntity>(entity, indexStart, indexEnd);

            for (int i = maxNum; i >= minNum; i--)
            {
                missNumber[i - minNum]++;
                if (list.Contains(i))
                {
                    index[i - minNum]++;
                    if (null != lastMiss)
                    {
                        lastMiss[i - minNum] = missNumber[i - minNum];//上期遗漏
                    }
                    missNumber[i - minNum] = 0;
                    if (null != times)
                    {
                        times[i - minNum]++;
                    }
                }
                //最大遗漏
                if (null != maxMiss)
                {
                    if (missNumber[i - minNum] > maxMiss[i - minNum])
                    {
                        maxMiss[i - minNum] = missNumber[i - minNum];
                    }
                }
                // avgMiss[i - minNum] = maxMiss[i - minNum] / (times[i - minNum] + 1);//计算平均遗漏
                if (null != avgMiss && null != times)
                {
                    avgMiss[i - minNum] = (RecordCount - times[i - minNum]) / (times[i - minNum] + 1);//计算平均遗漏
                }
            }
        }
Ejemplo n.º 2
0
        public static void SetEbtxtItemValue <TEntity>(TEntity entity, int indexStart, int indexEnd, int count, int minNum, int maxNum,
                                                       ref int[] index, ref int[] missNumber, ref int[] lastMiss, ref int[] maxMiss, ref int[] times, ref int[] avgMiss, int RecordCount, string[] ItemString) where TEntity : LotteryOpenCode
        {
            IList <int> list = LotteryUtils.GetOpenCodeList <TEntity>(entity, indexStart, indexEnd);

            int[] k3s = new int[list.Count];
            for (int i = 0; i < list.Count; i++)
            {
                k3s[i] = list[i];
            }
            Array.Sort(k3s);
            List <string> results = new List <string>();

            if (k3s[0] != k3s[1] || k3s[1] != k3s[2] || k3s[0] != k3s[2])
            {
                results.Add("二不同");
            }
            if (k3s[0] == k3s[1] || k3s[1] == k3s[2] || k3s[0] == k3s[2])
            {
                results.Add("二同");
            }
            for (int i = maxNum; i >= minNum; i--)
            {
                missNumber[i - minNum]++;
                if (results.Contains(ItemString[i]))
                {
                    index[i - minNum]++;
                    if (null != lastMiss)
                    {
                        lastMiss[i - minNum] = missNumber[i - minNum];//上期遗漏
                    }
                    missNumber[i - minNum] = 0;
                    if (null != times)
                    {
                        times[i - minNum]++;
                    }
                }
                //最大遗漏
                if (null != maxMiss)
                {
                    if (missNumber[i - minNum] > maxMiss[i - minNum])
                    {
                        maxMiss[i - minNum] = missNumber[i - minNum];
                    }
                }
                // avgMiss[i - minNum] = maxMiss[i - minNum] / (times[i - minNum] + 1);//计算平均遗漏
                if (null != avgMiss && null != times)
                {
                    avgMiss[i - minNum] = (RecordCount - times[i - minNum]) / (times[i - minNum] + 1);//计算平均遗漏
                }
            }
        }
Ejemplo n.º 3
0
        public static void SpecialValue_TCDLT_ChuHaoPL <TEntity>(TEntity entity, int indexStart, int indexEnd, int count,
                                                                 int minNum, int maxNum, ref int[] index, ref int[] itemIndex) where TEntity : LotteryOpenCode
        {
            IList <int> list = LotteryUtils.GetOpenCodeList <TEntity>(entity, indexStart, indexEnd);

            for (int i = maxNum; i >= minNum; i--)
            {
                if (list.Contains(i))
                {
                    itemIndex[i - minNum]++;
                }
            }
        }