问题描述
如题,需求一个11选5的彩票算法,最好能随机选出数组的。。。谢谢!!!!
解决方案
解决方案二:
==我来写一个。哈哈
解决方案三:
参考///<summary>///从1到n中任意选取不重复的10个随机数///</summary>///<returns></returns>privateList<int>GenerateNumber(){//用于保存返回结果List<int>result=newList<int>(10);Randomrandom=newRandom();intindex=0;intvalue=0;for(inti=1;i<=10;i++){//从[0,container.Count)中取一个随机值,保证这个值不会超过container的元素个数index=random.Next(0,container.Count);//谢谢热心朋友指出这里的错误//以随机生成的值作为索引取container中的值value=container[index];//将随机取得值的放到结果集合中result.Add(value);//从容器集合中删除这个值,这样会导致container.Count发生变化container.RemoveAt(index);}//result.Sort();排序returnresult;}
解决方案四:
坐等sf的算法
解决方案五:
你GG:抽奖算法!!!
解决方案六:
usingSystem;usingSystem.Collections;usingSystem.Configuration;usingSystem.Data;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.HtmlControls;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Xml.Linq;usingSystem.Collections.Generic;namespaceTestImg{publicpartialclassWebForm1:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){int[]c=RandomNumbers(5,1,11);if(c.Length!=0){for(inti=0;i<c.Length;i++){Response.Write(c[i].ToString()+"<br/>");}}else{Response.Write("Error");}}///<summary>///随机数///</summary>///<paramname="ACount">个数</param>///<paramname="AMinValue">最小值</param>///<paramname="AMaxValue">最大值</param>///<returns></returns>publicstaticint[]RandomNumbers(intACount,intAMinValue,intAMaxValue){if(ACount<=0)returnnull;if(AMaxValue<AMinValue)AMinValue=AMaxValue|(AMaxValue=AMinValue)&0;if(ACount>AMaxValue-AMinValue+1)returnnull;List<int>vValues=newList<int>();for(inti=AMinValue;i<=AMaxValue;i++)vValues.Add(i);int[]Result=newint[ACount];RandomvRandom=newRandom();for(inti=0;i<ACount;i++){intj=vRandom.Next(vValues.Count);Result[i]=vValues[j];vValues.RemoveAt(j);}returnResult;}}}
解决方案七:
谢谢楼上的。。。
解决方案八:
引用6楼lucyskys的回复:
谢谢楼上的。。。
呵呵
解决方案九:
packagecom.dell.lottery;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Random;importjava.util.Scanner;importcom.dell.misc.Conica;publicclassLotteryMain{inttimes=1;int[]choice;publicstaticvoidmain(String[]args){LotteryMaininstance=newLotteryMain();instance.init();instance.roll();instance.calc();}publicvoidinit(){choice=newint[12];Conica.pr("Indexforsamplesize:");Scannerscn=newScanner(System.in);intinput=scn.nextInt();if(input!=0){times=input*1000;}Conica.pl("Samplesize:"+times);}publicvoidroll(){for(inti=0;i<times;i++){HashMapmap=newHashMap();intsize=map.size();while(size<5){Randomrandom=newRandom();intrandomInt=random.nextInt(11)+1;Objectobj=map.get(randomInt);if(obj==null){//Conica.pr(randomInt+"t");map.put(randomInt,randomInt);choice[randomInt]++;}size=map.size();}//Conica.pl();}}publicvoidcalc(){int[]arr=choice;Listlist=newArrayList();for(inti=1;i<arr.length;i++){list.add(arr[i]);}Conica.pl(list);intfigure=3;int[]maxArr=newint[figure];for(intk=0;k<figure;k++){intindex=0;intmax=arr[index];for(inti=1;i<arr.length;i++){inttemp=arr[i];if(temp>max){max=temp;index=i;}}maxArr[k]=index;choice[index]=0;}Conica.pl("Followingcouldbeyourlucknumbertonight:");for(inti=0;i<maxArr.length;i++){Conica.pr(maxArr[i]+"");}Conica.pl();}}
解决方案十:
packagecom.dell.misc;publicclassConica{publicstaticvoidpr(Objectobj){System.out.print(obj);}publicstaticvoidpl(Objectobj){System.out.println(obj);}publicstaticvoidpl(){System.out.println();}publicstaticvoidpl(String[]arr){for(inti=0;i<arr.length;i++){System.out.println("i="+i+",value="+arr[i]);}}publicstaticvoidpl(int[]arr){for(inti=0;i<arr.length;i++){System.out.print(arr[i]+"t");}}}
解决方案十一:
我还真拿出来的结果去买过,还真中过!