30/09/2018, 19:20
Hỏi về hàm RANDOM
các bạn cho mình hỏi rand()%10 là gì và tại sao ta phải dùng %
và cho mình hỏi thêm một chuyện nữa là hàm randomize khác gì với hàm srand(time(NULL)) ạ???
Bài liên quan
% 10
để bạn lấy được một số ngẫu nhiên nằm trong đoạn từ 0 tới 9.rand()
mà không khai báosrand(time(NULL))
thì bạn sẽ chỉ được những số ngẫu nhiên nhưng lặp đi lặp lại mỗi lần bạn gọi hàmrand()
time(Null)
là tham số củasrand()
. Mà thời gian là đại lượng luôn luôn thay đổi vậy nên hàmrand()
của bạn sẽ lấy được những số mà không thể đoán biết trước.nhung tai sao ta phai dung % v anh cái % làm em khó hiểu về nó quá
% là phép chia lấy dư đó. Hiểu nôm na là lấy các kết quả số dư của rand() chia cho 10
Muốn tra cái gì thì gg đầu tiên , cái này có đầy trên mạng mà : http://www.cplusplus.com/reference/cstdlib/rand/
Câu 1
% đây là phép chia lấy dư. Đặc tính của phép chia lấy dư là kết quả của phép tính này luôn nằm trong khoảng từ 0 cho đến thương số. Ví dụ như:
ran() là hàm cung cấp 1 số chưa biết trước. Số này có thể nằm từ 0 đến vô cùng.
=> Để giới hạn con số được sinh ra đó. Người ta kết hợp với việc chia lấy dư.
Câu 2
Với bất kì một hàm lấy số ngẫu nhiên nào cũng đều phải dùng một thuật toán để sinh ra số. Số được sinh ra luôn phải có một con số cho trước gọi là số mầm. Do máy tính thì không giống con người để có thể ngẫu nhiên bốc ra một thứ gì đó. Hàm srand() là hàm dùng để thay đổi số mầm của hàm rand()