Question:
Write a single statement that chooses a random number from each of the following sets:
a) 2,4,6,8,10
b) 3,5,7,9,11
c) 6,10,14,18,22

I wrote the following statement for the set (a):

(1 + (rand() % 5)) * 2;

but I am unable to write ones for sets (b) and (c). Can someone please give me some hint about how to choose random numbers from these sets using a single statement??

I was able to do this using a switch selection structure but in in a single statement.

Edited 5 Years Ago by Muhammad Anas: n/a

Hint:
Each element in {3,5,7,9,11} is the corresponding element in {2,4,6,8,10} plus one.
Each element in {6,10,14,18,22} is the corresponding element in {3,5,7,9,11} multiplied by two.

For b) what about

((1 + (rand() % 5)) * 2)+1;

oh .. yes .. it works Thank you very much!!!

Now I am able to get the statement for the c) too. that is just multiply the statement of b) with 2. i.e.

(((1 + (rand() % 5)) * 2)+1) * 2;

Once again Thanks :)

Hint:
Each element in {3,5,7,9,11} is the corresponding element in {2,4,6,8,10} plus one.
Each element in {6,10,14,18,22} is the corresponding element in {3,5,7,9,11} multiplied by two.

Yes exactly. Thank you very much for the help!! I got it from the post of frogboy77. I wonder why I couldn't guess it myself!!

This question has already been answered. Start a new discussion instead.