电脑网页打不开是怎么回事,吉林百度seo公司,高端建设网站公司,企业邮箱app下载做了一个彩票程序#xff0c;为了复式投注颇费了点脑筋#xff0c;网上找了半天#xff0c;才知道这个公式#xff0c;比如36选7#xff0c;如果买10个号#xff0c;公式就是#xff1a;
10#xff01;/ (10-7)#xff01;/ 7#xff01; 顺手做了一个测试程序…做了一个彩票程序为了复式投注颇费了点脑筋网上找了半天才知道这个公式比如36选7如果买10个号公式就是
10/ (10-7)/ 7 顺手做了一个测试程序 using System;public class Test{ public static void Main(string[] args){ int a 5; // 选择了几 int b 2; try{ if(args.Length 1){ b int.Parse(args[0]); } else if(args.Length 2){ a int.Parse(args[0]); b int.Parse(args[1]); } }catch{ Console.WriteLine(请正确输入); return; } int d GetCount(a, b); Console.WriteLine({0},{1},{2}, a,b,d); } //buyNum : 购买的数字个数 //perNum : 每注要求的数字个数 // 返回值为 : buyNum!/(buyNum-perNum)!/perNum! public static int GetCount(int buyNum, int perNum){ if(perNum buyNum) return 1; if(perNum buyNum){ throw new Exception(后者必须比前者小); }else if(perNum 0){ throw new Exception(后者不能小于0); } // 这3行能提高一点效率并降低一部分溢出的可能 int diff buyNum - perNum; if (diff perNum) perNum diff; int result 1; for(int iperNum 1;ibuyNum;i){ result * i; } for(int i1;ibuyNum - perNum;i){ result / i; } return result; /* 8个号码选7 8注 9个号码选7 36注 10个号码选7 120注 11个号码选7 330注 12个号码选7 792注 */ }} 下面是生成复式投注时列出组合号码的列表的代码 /// summary /// 从数组中查找s个数字的组合并返回全部组合(根据复式彩票投注的号码返回对应的全部号码组列表) /// /summary /// param namearr数组(购买的数字列表)/param /// param names大于0的整数(每注要求的数字个数)/param /// returns/returns ListListint GetCountList(int[] arr, int s){ if (s 1) throw new Exception(选择个数不能小于1); if (arr null || arr.Length 0 || arr.Length s) throw new Exception(数组不能为空 或 小于必选个数); if (arr.Length s) { #region 数组长度等于s时直接返回1个组合 ListListint l_ret new ListListint(); Listint l_item new Listint(); foreach (int item in arr) { l_item.Add(item); } l_ret.Add(l_item); #endregion return l_ret; } if (s 1) { #region 从数组中查找1个数字的组合直接把数组各元素返回 ListListint l_ret new ListListint(); foreach (int item in arr) { Listint l_item new Listint(); l_item.Add(item); l_ret.Add(l_item); } #endregion return l_ret; } ListListint l_arrTmp new ListListint(); for (int i 0; i arr.Length - s; i) { // 后面的数任意取s-1个 int[] tmp GetArray(arr, i); ListListint l_arrTmp1 GetCountList(tmp, s - 1); foreach (Listint item in l_arrTmp1) { item.Insert(0, arr[i]); l_arrTmp.Add(item); } } Listint l_lastItem new Listint(); for (int i arr.Length - s; i arr.Length; i) { l_lastItem.Add(arr[i]); } l_arrTmp.Add(l_lastItem); return l_arrTmp;}/// summary /// 把arr数组中位置为beg之后的元素全部放入一个新数组返回不包含beg元素 /// /summary /// param namearr/param /// param namebeg/param /// returns/returns private static int[] GetArray(int[] arr, int beg){ int[] tmp new int[arr.Length - (beg 1)]; for (int i beg 1; i arr.Length; i) tmp[i - (beg 1)] arr[i]; return tmp;}