30/09/2018, 23:21

Hỏi đáp cách dùng hàm rand() lấy 1 số từ -a đến a mà bỏ đi 0;

Như mình đã đề cập ở trên, ae giúp mình 1 tay vs ạ;

Khánh Nguyễn viết 01:36 ngày 01/10/2018

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.

明玉 viết 01:36 ngày 01/10/2018

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.
Lưu Thành Vương viết 01:23 ngày 01/10/2018

Cách của mình

int x;
do{
   x=rand()%(2*a+1)-a;
}while(x==0);
Mai Hữu viết 01:25 ngày 01/10/2018

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);

Đỗ Trung Quân viết 01:37 ngày 01/10/2018

Random ra số a cộng lại bằng 0

Mai Hữu viết 01:31 ngày 01/10/2018

bác ko thấy while(so==0) à

Gió viết 01:37 ngày 01/10/2018
int getRandom(int n){
     return (random()%n+1)*(random()%2?1:-1);
}
Sinner viết 01:35 ngày 01/10/2018

Tks bạn. 20 kí tự - fuck this

Sinner viết 01:33 ngày 01/10/2018

Cảm ơn mn. Mình thấy do while có vẻ hợp lý

Tao Không Ngu. viết 01:26 ngày 01/10/2018

This post was flagged by the community and is temporarily hidden.

Sinner viết 01:35 ngày 01/10/2018

Mình random Mẫu số nên = 0 thì lỗi;

Tao Không Ngu. viết 01:22 ngày 01/10/2018

This post was flagged by the community and is temporarily hidden.

Lưu Thành Vương viết 01:32 ngày 01/10/2018

Cách làm của @Gio hay đấy bạn cố hiểu thử đi.

(random()%2?1:-1)

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.

Sinner viết 01:35 ngày 01/10/2018

Bạn hỏi vô duyên vồn

Sinner viết 01:29 ngày 01/10/2018

cú pháp này lạ quá mình không hiểu

Đỗ Trung Quân viết 01:26 ngày 01/10/2018

Cảm ơn mn. Mình thấy do while có vẻ hợp lý

Không nên dùng vòng lặp trong trường hợp này

Sinner viết 01:25 ngày 01/10/2018

20 kí tự. Tại sao vậy bạn?

Đỗ Trung Quân viết 01:33 ngày 01/10/2018

Google said that, thấy người ta nói vậy. K nên

Tao Không Ngu. viết 01:25 ngày 01/10/2018

This post was flagged by the community and is temporarily hidden.

Sinner viết 01:36 ngày 01/10/2018

trình mình newbie, bạn nói vậy cũng nhũn não lắm

Bài liên quan
0