반복 없는 순환은 없다는 걸 알아요~, 반복률을 줄일 수 밖에 없지만 그래도 한번 해봐야겠어요~, 한번 시도해 볼 수 있는 동료 도사 있나요~
무작위성의 의미는 일반적으로 A1 A2를 알면 A3의 의미를 추론할 수 없다는 것입니다. 말씀하신 반복되는 값의 문제는 확률의 관점에서 측정해야 합니다. 각 값을 얻을 확률이 동일하다면 결과가 두 번 반복된다고 해서 충분히 '랜덤'하지 않다는 의미는 아닙니다. .
반복되지 않도록 값을 엄격하게 제한해야 한다면 저장 장소가 있어야 하고, 이 중복되지 않는 것도 시간이나 공간 범위가 있어야 합니다.
이전에 CSDN에서 반복되지 않는 숫자를 무작위로 생성하는 알고리즘을 보았습니다.
어리석은 방법은 배열을 직접 초기화하고 각 숫자를 올바른 위치에 놓은 다음 무작위로 선택하는 것입니다. 첫 번째 결과는 마지막 숫자와 교환되고 두 번째 결과는 두 번째부터 마지막 숫자와 교환됩니다. , 교환 후 다음 번에는 무작위로 선택됩니다. 이에 따라 개수의 범위도 1개 감소합니다.
효율성은 포스터로 구현 가능합니다.
라이프사이클이 길면 100,000도 쉽게 소모되고, 어떻게 생성해도 반복됩니다.
가장 간단한 Math.random()*10_0000을 int로 변환한 후 반복되지 않는다는 보장이 없습니다
increment, mysql의 기본 키 증가와 유사하게 1부터 시작하여 6자리 미만인 경우 0을 사용하여 앞부분을 보완합니다
고급 포인트 6자리 숫자는 다양한 영향 요인을 활용하여 조합할 수 있습니다. 물론 이 숫자는 상대적으로 짧고 고려해야 할 요소가 많지 않습니다.
마지막으로, 분산 시스템 ID 생성에 대한 참조 링크를 제공하세요. 이는 귀하의 문제와 관련이 없을 수도 있지만 일부 참조도 있습니다.
으아악
0~100은 범위이고 6은 숫자입니다. 더 중요한 것은 스레드 안전성입니다.
무작위성의 의미는 일반적으로 A1 A2를 알면 A3의 의미를 추론할 수 없다는 것입니다.
말씀하신 반복되는 값의 문제는 확률의 관점에서 측정해야 합니다. 각 값을 얻을 확률이 동일하다면 결과가 두 번 반복된다고 해서 충분히 '랜덤'하지 않다는 의미는 아닙니다. .
반복되지 않도록 값을 엄격하게 제한해야 한다면 저장 장소가 있어야 하고, 이 중복되지 않는 것도 시간이나 공간 범위가 있어야 합니다.
이전에 CSDN에서 반복되지 않는 숫자를 무작위로 생성하는 알고리즘을 보았습니다.
으아악어리석은 방법은 배열을 직접 초기화하고 각 숫자를 올바른 위치에 놓은 다음 무작위로 선택하는 것입니다. 첫 번째 결과는 마지막 숫자와 교환되고 두 번째 결과는 두 번째부터 마지막 숫자와 교환됩니다. , 교환 후 다음 번에는 무작위로 선택됩니다. 이에 따라 개수의 범위도 1개 감소합니다.
효율성은 포스터로 구현 가능합니다.
으아악라이프사이클이 길면 100,000도 쉽게 소모되고, 어떻게 생성해도 반복됩니다.
가장 간단한 Math.random()*10_0000을 int로 변환한 후 반복되지 않는다는 보장이 없습니다
increment, mysql의 기본 키 증가와 유사하게 1부터 시작하여 6자리 미만인 경우 0을 사용하여 앞부분을 보완합니다
고급 포인트 6자리 숫자는 다양한 영향 요인을 활용하여 조합할 수 있습니다. 물론 이 숫자는 상대적으로 짧고 고려해야 할 요소가 많지 않습니다.
마지막으로, 분산 시스템 ID 생성에 대한 참조 링크를 제공하세요. 이는 귀하의 문제와 관련이 없을 수도 있지만 일부 참조도 있습니다.
으아악
0~100은 범위이고 6은 숫자입니다. 더 중요한 것은 스레드 안전성입니다.