Như mình đã đề cập ở trên, ae giúp mình 1 tay vs ạ;
Hỏi đáp cách dùng hàm rand() lấy 1 số từ -a đến a mà bỏ đi 0;
Mình có cách này: Random một số x trong khoảng từ 1
đến 2a
. Nếu x nhỏ hơn hoặc bằng a, return nó
. Nếu không, return a-x
.
Cách của mình: Random 2 lần:
- Random xem nên chọn khoảng [-a, 0) hay (0, a] ?
- Sau đó random tiếp trong khoảng mà đã chọn được.
Cách của mình
int x;
do{
x=rand()%(2*a+1)-a;
}while(x==0);
thì bạn ramdon thế này nhé
randon từ số 0 tới số 2a;
lấy số vừa randon được cộng với -a
code:
do{
so=rand()%(2*a)-a;
}
while(so==0);
Random ra số a cộng lại bằng 0
bác ko thấy while(so==0) à
int getRandom(int n){
return (random()%n+1)*(random()%2?1:-1);
}
Tks bạn. 20 kí tự - fuck this
Cảm ơn mn. Mình thấy do while có vẻ hợp lý
This post was flagged by the community and is temporarily hidden.
Mình random Mẫu số nên = 0 thì lỗi;
This post was flagged by the community and is temporarily hidden.
Cách làm của @Gio hay đấy bạn cố hiểu thử đi.
Cái này gọi là gì thì mình quên r nhưng tương tự viết thế này
if(random()%2)//chắc chắn trả về 0 hoặc 1
return 1;
else
return -1;
=> random được âm dương.
Bạn hỏi vô duyên vồn
cú pháp này lạ quá mình không hiểu
Không nên dùng vòng lặp trong trường hợp này
20 kí tự. Tại sao vậy bạn?
Google said that, thấy người ta nói vậy. K nên
This post was flagged by the community and is temporarily hidden.