zoukankan      html  css  js  c++  java
  • 不重复随机数的产生问题

            /// <summary>
            /// 随机生成
            /// </summary>
            /// <param name="RedCount">最小值</param>
            /// <param name="BlueCount">最大值</param>
            /// <param name="LotteryName">个数</param>
            /// <returns></returns>
            private List<int> getRandomNum(int MinNumber,int MaxNumber,int Count)
            {
                  List<int> result = new List<int>(Count);     
                  Random random = new Random();     
                   int temp = 0; 
                
                while (result.Count < Count)     
                {      
                    temp = random.Next(MinNumber, MaxNumber+1);
                    if (MaxNumber > 9)//3d除外
                    {
                        if (!result.Contains(temp))//去重
                        {
                            result.Add(temp);
                        }
                    }
                    else
                    {
                        result.Add(temp);
                    }
                }  
                return result; 
            }
            /// <summary>
            /// 随机双色球投注号
            /// </summary>
            /// <param name="RedCount">红球个数</param>
            /// <param name="BlueCount">篮球个数</param>
            /// <returns>投注号</returns>
            private string getSSQBetNumber(int RedCount,int BlueCount)
            {
                List<int> RedList = getRandomNum(1, 33, RedCount);
                RedList.Sort();
                StringBuilder sbR = new StringBuilder();
                foreach (var item in RedList)
                {
                    if (item < 10)
                        sbR.Append("0" + item.ToString());
                    else
                        sbR.Append(item.ToString());
                    sbR.Append(BetDivision);
    
                }
                StringBuilder sbB = new StringBuilder();
                List<int> BlueList = getRandomNum(1, 15, BlueCount);
                foreach (var item in BlueList)
                {
                    if (item < 10)
                        sbB.Append("0" + item.ToString());
                    else
                        sbB.Append(item.ToString());
                    sbB.Append(BetDivision);
                }
                return sbR.ToString().Substring(0, sbR.ToString().Length - 1) + BetJoint + sbB.ToString().Substring(0, sbB.ToString().Length - 1);
            }
    

      灵感来于http://zhoufoxcn.blog.51cto.com/792419/380423/

  • 相关阅读:
    Shell for
    rsync 目录 斜杠
    shell local
    linux secureCRT utf-8编码显示
    eclipse maven 项目不显示 target目录
    如何打印身份证实际大小
    linux 去掉 ^M
    hibernate 之 集合映射中list映射
    hibernate 之 复合主键映射
    hibernate 之 组件映射
  • 原文地址:https://www.cnblogs.com/zjn0zjn/p/4239400.html
Copyright © 2011-2022 走看看