[algogeeks] Re: Pbm with rand() function

2012-02-28 Thread Don
Use Mersenne Twister to generate 32-bit integers and do something like this: long long x = MT.gen(); x = (x32) + MT.gen(); Don On Feb 27, 5:58 pm, Prakash D cegprak...@gmail.com wrote: i've another doubt. what to do when I need to generate a random long long? On Mon, Feb 27, 2012 at 9:07

[algogeeks] Re: Pbm with rand() function

2012-02-27 Thread Don
For instance, if RANDMAX= 32768, then x = rand() % 2; is twice as likely to result in the value 10,000 as the value 15,000. This is because there are two output values from rand() which result in x=1 (1 and 3), but only one output value from rand() resulting in x=15000 (15000).

Re: [algogeeks] Re: Pbm with rand() function

2012-02-27 Thread Prakash D
i've another doubt. what to do when I need to generate a random long long? On Mon, Feb 27, 2012 at 9:07 PM, Don dondod...@gmail.com wrote: For instance, if RANDMAX= 32768, then x = rand() % 2; is twice as likely to result in the value 10,000 as the value 15,000. This is because there

Re: [algogeeks] Re: Pbm with rand() function

2012-02-27 Thread Prakash D
with equal probability On Tue, Feb 28, 2012 at 5:28 AM, Prakash D cegprak...@gmail.com wrote: i've another doubt. what to do when I need to generate a random long long? On Mon, Feb 27, 2012 at 9:07 PM, Don dondod...@gmail.com wrote: For instance, if RANDMAX= 32768, then x = rand() % 2;

[algogeeks] Re: Pbm with rand() function

2012-02-26 Thread Dave
@Karthikeya: Doesn't rand() actually return numbers in the range 0 to RANDMAX? Proceeding as if that is the case: If N is much smaller than RANDMAX, the process probably works well enough for most applications, but if you want numbers as good as the numbers rand() generates, do the following:

[algogeeks] Re: Pbm with rand() function

2012-02-26 Thread karthikeya s
int m = (RANDMAX / N) * N isn't m= RANDMAX simplyit couldn't understand the what is the logic here. -- You received this message because you are subscribed to the Google Groups Algorithm Geeks group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from

[algogeeks] Re: Pbm with rand() function

2012-02-26 Thread Dave
@Karthikeya: Integer division truncates. So m is the largest multiple of N that is less than or equal to RANDMAX. E.g., in your example, m = (50 / 30) * 30 = 1 * 30 = 30, since 50/30 truncates to 1. Dave On Feb 26, 12:33 pm, karthikeya s karthikeya.a...@gmail.com wrote: int m = (RANDMAX / N) *

[algogeeks] Re: Pbm with rand() function

2012-02-26 Thread karthikeya s
oh my bad.really nice concept+1 dave. -- You received this message because you are subscribed to the Google Groups Algorithm Geeks group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to

Re: [algogeeks] Re: Pbm with rand() function

2012-02-26 Thread amrit harry
@dave +1.. :) On Mon, Feb 27, 2012 at 10:55 AM, karthikeya s karthikeya.a...@gmail.comwrote: oh my bad.really nice concept+1 dave. -- You received this message because you are subscribed to the Google Groups Algorithm Geeks group. To post to this group, send email to