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.

Recommended Answers

All 4 Replies

For b) what about

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

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!!

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.