Java는 반복되지 않는 6자리 난수를 생성합니다. 친구를 도와주세요.
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-06-28 09:23:14
0
5
1053

반복 없는 순환은 없다는 걸 알아요~, 반복률을 줄일 수 밖에 없지만 그래도 한번 해봐야겠어요~, 한번 시도해 볼 수 있는 동료 도사 있나요~

曾经蜡笔没有小新
曾经蜡笔没有小新

모든 응답(5)
仅有的幸福

무작위성의 의미는 일반적으로 A1 A2를 알면 A3의 의미를 추론할 수 없다는 것입니다.
말씀하신 반복되는 값의 문제는 확률의 관점에서 측정해야 합니다. 각 값을 얻을 확률이 동일하다면 결과가 두 번 반복된다고 해서 충분히 '랜덤'하지 않다는 의미는 아닙니다. .

반복되지 않도록 값을 엄격하게 제한해야 한다면 저장 장소가 있어야 하고, 이 중복되지 않는 것도 시간이나 공간 범위가 있어야 합니다.

某草草

이전에 CSDN에서 반복되지 않는 숫자를 무작위로 생성하는 알고리즘을 보았습니다.

으아악
阿神

어리석은 방법은 배열을 직접 초기화하고 각 숫자를 올바른 위치에 놓은 다음 무작위로 선택하는 것입니다. 첫 번째 결과는 마지막 숫자와 교환되고 두 번째 결과는 두 번째부터 마지막 ​​숫자와 교환됩니다. , 교환 후 다음 번에는 무작위로 선택됩니다. 이에 따라 개수의 범위도 1개 감소합니다.

효율성은 포스터로 구현 가능합니다.

으아악
大家讲道理

라이프사이클이 길면 100,000도 쉽게 소모되고, 어떻게 생성해도 반복됩니다.

  1. 가장 간단한 Math.random()*10_0000을 int로 변환한 후 반복되지 않는다는 보장이 없습니다

  2. increment, mysql의 기본 키 증가와 유사하게 1부터 시작하여 6자리 미만인 경우 0을 사용하여 앞부분을 보완합니다

  3. 고급 포인트 6자리 숫자는 다양한 영향 요인을 활용하여 조합할 수 있습니다. 물론 이 숫자는 상대적으로 짧고 고려해야 할 요소가 많지 않습니다.

마지막으로, 분산 시스템 ID 생성에 대한 참조 링크를 제공하세요. 이는 귀하의 문제와 관련이 없을 수도 있지만 일부 참조도 있습니다.

刘奇

으아악

0~100은 범위이고 6은 숫자입니다. 더 중요한 것은 스레드 안전성입니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!