2016-10-29 3 views
4

BigInteger를 처음 사용하기 때문에 설명서를 읽는 동안 최선을 다하고 있습니다. 나는 아직도 혼란 스럽다. 2^70과 2^80의 범위에서 500 개의 임의의 정수를 생성해야하며 BigIntegers의 범위를 설정하는 방법을 알지 못합니다. How to generate a random BigInteger value in Java?지정된 범위 내에서 임의의 고유 BigIntegers 생성?

+0

[Java에서 임의의 BigInteger 값을 생성하는 방법] 가능한 복제본 (영문) (http://stackoverflow.com/questions/2290057/how-to-generate-a-random-bigintegervalue-in-java) 나는 그 질문이 당신 대답을해야한다고 생각합니다. – DonyorM

+0

중복 가능 : http://stackoverflow.com/questions/2290057/how-to-generate-a-random-biginteger-value-in-java –

답변

1

가있다 : 나는 가능한 중복 메시지를 받고 있어요

는, 그래서 난 내 문제를 해결하는 방법을 이해하지 못하는 난 아직도 내가 이미 하나의 솔루션을 검토 한 것을 추가해야한다 생각 0 ~ 2^n - 1 사이의 built-in method to generate a random BigInteger

최대 2^80의 숫자를 생성하기 위해 루프에서 사용할 수 있습니다.

숫자가 2^70 아래로 떨어질 확률은 매우 작습니다 (~ 0.1 %). 그런 일이 발생하면 (500 회 반복하면 매우 좋습니다), 또 다른 것을 그립니다.

이렇게하면 2^70에서 2^80 사이의 임의의 숫자가 균일하게 분포합니다.

숫자가 반복 될 확률은 거의 존재하지 않습니다. 무시할 수 없다고 생각되면 중복 된 번호를 확인하고 다시 그립니다.

+0

최소 범위 값을 설정할 수 있습니까? 나의 임무의 경우, 그 특정 범위 내에서 설정해야합니다. – Jasmine

+1

최소 범위는 무엇입니까? 2^70이면 위의 내용이 잘 작동합니다. 2^78 인 경우 http://stackoverflow.com/a/23054579/14955와 같은 다른 방법을 사용하는 것이 좋습니다. – Thilo

관련 문제