기술 블로그를 처음 작성하게 되는데, 이전에 썼던 2색 공 복권의 무작위 알고리즘에 대해 쓰겠습니다.
원리는 다음과 같습니다.
1 먼저 그릴 nums 배열을 초기화합니다. 배열의 길이는 k
2입니다. nums[k]를 얻기 위해 1~k 사이의 임의의 숫자를 무작위로 선택합니다. 첫 번째 복권 번호를 얻습니다. 숫자 k--에서 번호를 제거합니다.
3. 모든 당첨 번호를 얻을 때까지 2단계를 반복하세요.
1 class myLuck 2 { 3 private int mTarget; 4 List<Integer> mNums = new ArrayList<Integer>(); //摇奖池 5 6 ///从多少个数中产生多少个数 7 ///例如 33选6 则Source=33,Target=6; 8 myLuck(int vSource,int vTarget) { 9 for (int i = 1; i <=vSource ; i++) { 10 mNums.add(i);11 }12 mTarget=vTarget;13 }14 15 public String GetNums()16 { 17 String xString="";18 for (int i =0;i<mTarget; i++) 19 {20 int _index=(int)(Math.random()* mNums.size());21 xString+=mNums.get(_index)+" ";22 //System.out.print("("+(_index+1)+")"+mNums.get(_index)+"-"); 23 //如何删除一个元素24 mNums.remove(_index);25 } 26 return xString;27 } 28 }
호출 방법은 다음과 같습니다.
아주 간단합니다. 결과만 출력하면 됩니다~
위 내용은 Java로 구현된 이중 색상 공 추첨을 위한 무작위 알고리즘의 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!