admin管理员组文章数量:1130349
C# 双色球核心代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Models
{public class DobuleChromosphere{//红色球蓝色球public List<string>RedBalls { get; set; }public List<string>BlueBalls{ get; set; }/// <summary>/// 投注方式/// </summary>public string BallType { get; set; }/// <summary>/// 价格默认是单式,一注是2元/// </summary>public int Price { get; set; } = 2;#region 构造方法/// <summary>/// 用于显示的红色球和蓝色球组合字符串/// </summary>public string BallsShow{get{string nums = string.Join(" ", RedBalls) + "|";if (BlueBalls.Count > 1)return nums += " " + string.Join(" ", BlueBalls);elsereturn nums += " " + BlueBalls[0];}}public string PriceShow =>Price + "元";#endregion//构造方法(用于计算当前投注的金额)复式金额算法:A!/((A-6)!*6!)*B/// <summary>/// /// </summary>/// <param name="redBalls">红色球集合</param>/// <param name="bluBalls">蓝色球集合</param>public DobuleChromosphere(List<string> redBalls, List<string> bluBalls){this.RedBalls = redBalls;this.BlueBalls = BlueBalls;//投注的方式推算BallType = bluBalls.Count > 1 || redBalls.Count > 6 ? "复式" : "单式";//根根红色球和蓝色球开始计算价格(请根据网易彩票的算法实现)int a = redBalls.Count;int b = bluBalls.Count;if (a > 6){Price = Factorial(a) / (Factorial(a - 6) * Factorial(6)) * b;}else{Price *= b;}}/// <summary>/// 递归实现阶乘/// </summary>/// <param name="n"></param>/// <returns></returns>private int Factorial(int n){if (n < 1) return 0;if (n == 1) return 1;return n * (Factorial(n - 1));}}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Models
{/// <summary>/// 选号器类/// </summary>public class Selector{//红色、蓝色球池public List<string> RedBallList { get; set; }public List<string> BlueBallList { get; set; }//存储选中的号码public List<DobuleChromosphere> SelectedBalls { get; set; } = new List<DobuleChromosphere>();private Random random = new Random();public Selector(){RedBallList = new List<string> { "01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33"};BlueBallList = new List<string> {"01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16"};}#region 方法:生成随机的蓝色球和红色球。public List<string> CreateRedNum(int count){List<string> numList = new List<string>();while (true){if (numList.Count == count) break;//如果达到随机数个数,就跳出string num = RedBallList[random.Next(33)];if (numList.Contains(num)) continue;elsenumList.Add(num);}return numList;}public List<string> CreateBlueNum(int count){List<string> numList = new List<string>();while (true){if (numList.Count == count) break;//如果达到随机数个数,就跳出string num = BlueBallList[random.Next(16)];if (numList.Contains(num)) continue;elsenumList.Add(num);}return numList;}#endregion#region 扩展方法:打印、保存到数据库(选择性作业、自行完成#endregion}
}
C# 双色球核心代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Models
{public class DobuleChromosphere{//红色球蓝色球public List<string>RedBalls { get; set; }public List<string>BlueBalls{ get; set; }/// <summary>/// 投注方式/// </summary>public string BallType { get; set; }/// <summary>/// 价格默认是单式,一注是2元/// </summary>public int Price { get; set; } = 2;#region 构造方法/// <summary>/// 用于显示的红色球和蓝色球组合字符串/// </summary>public string BallsShow{get{string nums = string.Join(" ", RedBalls) + "|";if (BlueBalls.Count > 1)return nums += " " + string.Join(" ", BlueBalls);elsereturn nums += " " + BlueBalls[0];}}public string PriceShow =>Price + "元";#endregion//构造方法(用于计算当前投注的金额)复式金额算法:A!/((A-6)!*6!)*B/// <summary>/// /// </summary>/// <param name="redBalls">红色球集合</param>/// <param name="bluBalls">蓝色球集合</param>public DobuleChromosphere(List<string> redBalls, List<string> bluBalls){this.RedBalls = redBalls;this.BlueBalls = BlueBalls;//投注的方式推算BallType = bluBalls.Count > 1 || redBalls.Count > 6 ? "复式" : "单式";//根根红色球和蓝色球开始计算价格(请根据网易彩票的算法实现)int a = redBalls.Count;int b = bluBalls.Count;if (a > 6){Price = Factorial(a) / (Factorial(a - 6) * Factorial(6)) * b;}else{Price *= b;}}/// <summary>/// 递归实现阶乘/// </summary>/// <param name="n"></param>/// <returns></returns>private int Factorial(int n){if (n < 1) return 0;if (n == 1) return 1;return n * (Factorial(n - 1));}}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Models
{/// <summary>/// 选号器类/// </summary>public class Selector{//红色、蓝色球池public List<string> RedBallList { get; set; }public List<string> BlueBallList { get; set; }//存储选中的号码public List<DobuleChromosphere> SelectedBalls { get; set; } = new List<DobuleChromosphere>();private Random random = new Random();public Selector(){RedBallList = new List<string> { "01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33"};BlueBallList = new List<string> {"01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16"};}#region 方法:生成随机的蓝色球和红色球。public List<string> CreateRedNum(int count){List<string> numList = new List<string>();while (true){if (numList.Count == count) break;//如果达到随机数个数,就跳出string num = RedBallList[random.Next(33)];if (numList.Contains(num)) continue;elsenumList.Add(num);}return numList;}public List<string> CreateBlueNum(int count){List<string> numList = new List<string>();while (true){if (numList.Count == count) break;//如果达到随机数个数,就跳出string num = BlueBallList[random.Next(16)];if (numList.Contains(num)) continue;elsenumList.Add(num);}return numList;}#endregion#region 扩展方法:打印、保存到数据库(选择性作业、自行完成#endregion}
}
本文标签: C 双色球核心代码
版权声明:本文标题:C# 双色球核心代码 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/IT/1694662403a254701.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论