Cách tốt nhất để tạo các số ngẫu nhiên bằng cách sử dụng Objective C trên iPhone là gì?
Nếu tôi sử dụng (int)((double) rand()/((double)(RAND_MAX) + (double) 1) * 5.0)
để tạo một số từ 0 đến 4, mỗi khi tôi khởi động chương trình trên iPhone, nó sẽ tạo ra các số giống nhau để bắt đầu.Làm cách nào để tạo số ngẫu nhiên trên iPhone?
Trả lời
Có một câu hỏi rất giống here on StackOverFlow. Đây là một trong những giải pháp tốt hơn (không cần cho hạt giống):
int r = arc4random() % 5;
Gọi srand()
lúc bắt đầu chương trình của bạn, nó sẽ gieo hạt tạo số ngẫu nhiên
Bạn nên giống các bộ tạo số ngẫu nhiên với thời gian hiện tại.
srand(time(0));
Bạn cần ngẫu nhiên như thế nào? Nếu bạn muốn đủ ngẫu nhiên cho mật mã, sau đó sử dụng SecRandomCopyBytes().
tôi sử dụng
#define RANDOM_SEED() srandom(time(NULL))
#define RANDOM_INT(__MIN__, __MAX__) ((__MIN__) + random() % ((__MAX__+1) - (__MIN__)))
để bạn có thể cung cấp cho một min và max
chức năng đơn giản cho hệ số ngẫu nhiên:
int r = arc4random() % 42; // generate number up to 42 (limit)
Trong khi dư thừa như một câu trả lời, tôi thích cách số 42 đang được sử dụng thay vì 5 ở đây. – Toastor
Vì tôi muốn tạo số ngẫu nhiên lên đến 41 vì vậy tôi đã cho 42, vì vậy nó sẽ tạo ra từ 0 đến 41 bao gồm 0 & 41, như tôi muốn sử dụng 41. –
Đủ công bằng. Tuy nhiên, bạn được khuyến khích đọc "Hướng dẫn về Hitchhikers cho Galaxy" - Tôi tin rằng đó là một cách đọc không bắt buộc đối với các lập trình viên nói chung. – Toastor
- 1. Làm cách nào để tạo số ngẫu nhiên bằng Python?
- 2. Làm cách nào để tạo số ngẫu nhiên trong Dart?
- 3. Tạo số ngẫu nhiên trên Spartan-3E
- 4. Trình tạo số ngẫu nhiên phân phối ngẫu nhiên
- 5. Cách tạo số ngẫu nhiên khác nhau?
- 6. Thuật toán để tạo số ngẫu nhiên
- 7. Cách tạo số ngẫu nhiên lớn C
- 8. Tạo số ngẫu nhiên lớn
- 9. Làm cách nào để tạo một đường dẫn ngẫu nhiên?
- 10. Tạo số ngẫu nhiên CUDA
- 11. Làm thế nào để 'ngẫu nhiên()' số ngẫu nhiên trong C (Linux)?
- 12. Cách tạo 5 số ngẫu nhiên với tổng số 100
- 13. c - trình tạo số ngẫu nhiên
- 14. Số ngẫu nhiên hoặc số dương Javascript ngẫu nhiên
- 15. Tạo số ngẫu nhiên đồng thời
- 16. Số ngẫu nhiên dựa trên xác suất
- 17. Tạo cùng một chuỗi số ngẫu nhiên
- 18. tạo số ngẫu nhiên bằng MYSQL
- 19. Số nguyên ngẫu nhiên
- 20. số ngẫu nhiên không quá ngẫu nhiên
- 21. Tạo số ngẫu nhiên không đồng nhất
- 22. tạo ngẫu nhiên số nguyên 64 bit
- 23. Tạo số ngẫu nhiên 2^30
- 24. tạo số ngẫu nhiên ngắn trong java?
- 25. Tạo số ngẫu nhiên trong C
- 26. Tạo chuỗi ngẫu nhiên dựa trên Regex?
- 27. Làm cách nào để tạo danh sách các số ngẫu nhiên?
- 28. Trình tạo số ngẫu nhiên tạo số nguyên cho Java
- 29. Làm cách nào để định lượng chất lượng của trình tạo số giả ngẫu nhiên?
- 30. Tạo một dãy các số ngẫu nhiên
5 nếu họ muốn từ 0 đến 4 – user102008
arc4random_uniform là lựa chọn tốt hơn% 5 –
@Catfish_Man Tại sao? – Thecafremo