Jak wygenerować bardzo dużą liczbę losową w Javie? Mówię coś jak 10000 cyfr? Wiem, że musimy używać BigInteger, ale jak możemy to zrobić? Jaki jest najskuteczniejszy sposób robienia czegoś takiego? Podaj mały przykład. Dziękuję Ci.Generowanie bardzo dużych liczb losowych java
Odpowiedz
Cóż, jednym ze sposobów jest, aby przejść do Random.org i pobrać jeden z losowych plików binarnych. Pliki są generowane z hałasu atmosferycznego, więc jest bardzo losowy. Użyłem go dla kluczy Zobrist w moim silniku szachowym.
Ewentualnie można iść
BigInteger b = new BigInteger(256, new Random());
które dadzą Ci to, co chcesz. W tym przykładzie BigInteger składa się z 256 bitów.
Połącz Random.nextBytes(byte[])
z BigInteger(byte[])
.
import java.util.*;
import java.math.*;
class Test{
public static void main(String[]_){
int n = 16;
Random r = new Random();
byte[] b = new byte[n];
r.nextBytes(b);
BigInteger i = new BigInteger(b);
System.out.println(i);
}
}
+1: Być może użyj mod(), aby uzyskać określoną liczbę cyfr. –
czy możesz wyjaśnić, jak to działa? Jestem mniej lub bardziej zdezorientowany na części bajtów .. dzięki –
Przydzielasz tablicę bajtów, nextBytes wypełnia ją losowymi wartościami, a następnie BigInteger jest inicjalizowany jako liczba binarna zdefiniowana przez tę sekwencję bajtów. Ale myślę, że rozwiązanie Jaco jest bardziej zwięzłe. – Vlad
- 1. Generowanie liczb losowych CUDA
- 2. Generowanie liczb losowych w Swift
- 3. Generowanie liczb losowych bez powtórzeń
- 4. drukowanie bardzo dużych liczb zmiennoprzecinkowych
- 5. Szybkie mnożenie bardzo dużych liczb całkowitych
- 6. Różne generowanie liczb losowych między OS
- 7. Generowanie liczb losowych w aplikacjach MVC
- 8. Generowanie liczb losowych między wieloma waha
- 9. Generowanie "In-Range" liczb losowych w C
- 10. Generowanie liczb losowych z wyjątkiem pewnych wartości
- 11. Generowanie liczb losowych bez użycia operacji bitowych
- 12. android - generowanie liczb losowych bez powtarzania
- 13. Generowanie lognormalnych liczb losowych w MATLAB?
- 14. generowanie liczb losowych bez kolejnych powtórzeń
- 15. Przechowywanie bardzo dużych liczb całkowitych w MySQL
- 16. C++ 11 liczb losowych
- 17. Równoległe generowanie liczb losowych za pomocą Akka Futures
- 18. Generowanie losowych liczb całkowitych w zakresie o rozkładzie prawdopodobieństwa
- 19. Generowanie liczb losowych z ważonymi prawdopodobieństwami w pythonie
- 20. Generowanie skorelowanych liczb losowych z dwumianowych rozkładów w R
- 21. Generowanie liczb losowych w każdym rzędzie w Oracle Query
- 22. Generowanie unikatowych liczb losowych w Postgresql o ustalonej długości
- 23. Siew Wiele liczb losowych Generatory
- 24. C++ Jaki typ zmiennej dla bardzo dużych liczb całkowitych?
- 25. Wywołanie funkcji generowania liczb losowych nie generuje całkowicie losowych liczb.
- 26. Generator liczb losowych Crossplatform
- 27. Boost generator liczb losowych
- 28. Rodzaje dużych liczb
- 29. Generowanie losowych certyfikatów
- 30. liczb losowych nie tak losowe
+1. W dokumentacji znalazły się cztery konstruktory, których nie widziałem: D. – Vlad
Zdarza się nam jak najlepiej! –