Fairly basic question but I need something that can make var n = Math.random()
to give me "n" as a positive odd integer
How do I do this?
Asked
Active
Viewed 6,158 times
-3

Atom Vayalinkal
- 2,642
- 7
- 29
- 37
-
var x = Math.random() * theRangeTop | 1; will give only odd integers – Tomasz Swider Oct 09 '16 at 08:46
2 Answers
2
Generate an integer in the appropriate range, multiply it by 2, then add 1.
For example if you want odd integers between 1 and 99 then generate a random integer in the range 0 to 49.
Related

Community
- 1
- 1

Mark Byers
- 811,555
- 193
- 1,581
- 1,452
1
Generate the number in desired range and then make it ODD
if it is not.
//<-Generate the number between 0 to MAX
int randNum= (int)(Math.random()*MAX_VALUE);
if(randNum %2 == 0){//generated number is even
if(randNum == MAX_VALUE){
randNum = randNum -1 ;
}else{
randNum = randNum +1 ;
}
}
Now the random number is an odd number within the range

Yogendra Singh
- 33,927
- 6
- 63
- 73