1. Cách sinh số nguyên ngẫu nhiên
Để sinh số nguyên trong lập trình C/C++. Chúng ta có thể sử dụng hàm rand()
. Hàm này trả về một số nguyên có kiểu dữ liệu là int
Ví dụ dưới đây sẽ sinh ngẫu nhiên 10 số nguyên dương:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main() {
for (int i=0; i<10; i++) {
cout << rand() << " ";
}
return 0;
}
Tuy nhiên, hàm rand()
này sẽ không hề random ra các số mới khi bạn chạy code ở các lần sau. Nghĩa là, kết quả của code trên ở mọi lần chạy sẽ đều random ra 5 số giống nhau. Bạn có thể thử chạy đoạn code trên nhiều lần để kiếm chứng.
2. Sinh số ngẫu nhiên srand()
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main() {
int r;
srand((int)time(0));
for(int i = 0; i < 5; ++i) {
r = rand();
cout << r << " ";
}
return 0;
}
3. Sinh số ngẫu nhiên trong đoạn [min, max]
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int random(int minN, int maxN){
return minN + rand() % (maxN + 1 - minN);
}
int main(){
srand((int)time(0));
int r;
for(int i = 0; i < 1000; ++i){
r = random(10,100);
cout << r << " ";
}
}