mappleleaf Ответов: 2

Rand. nextint(a) * B + C (java random generator problem)


Write code that generates a random odd integer (not divisible by 2) between 50 and 99 inclusive. Fill in the values of the sub-expressions labeled A, B, and C below.

Random rand = new Random(); int n = rand.nextInt(A) * B + C;



Ответ: A = 25; B = 2; C =51

Что я уже пробовал:

I dont get the answer. rand.nextInt(25) meansa range of  0-24 right.  Then, you multiply by 2 so the range becomes 0-48. Last you add 51 so the final range becomes  51 - 99, but the problem says the range is 50-99. Can someone explain to me how to get range of 50-99 with answers of A = 25; B = 2; C =51

Mohibur Rashid

Ваш вопрос недостаточно ясен, чтобы ответить на него. Также похоже, что A, B, C являются постоянными для выполнения требования больше 50, только нечетные и меньше 100.

Может быть, сначала обсудите с учителем свое задание

2 Ответов

Рейтинг:
2

OriginalGriff

Вы должны генерировать только нечетные числа: так что значение, которое вы добавляете - C - должно быть, нечетное, а исходное значение - rand.nextInt(A) * B должно быть, даже, а это значит, что B должно быть, квиты.
Итак, ваш наставник выбрал B = 2, C = 51, что соответствует требованию "должно быть нечетным", и смещает число так, чтобы оно было 51 или больше при любых обстоятельствах. Поскольку 51-это первое нечетное значение, большее 50, оно также подходит к нижнему концу диапазона.
A управляет исходным диапазоном значений: 25 действительно даст вам числа от 0 до 24, поэтому полное выражение даст такие значения:

A = 0 :  0 * 2 + 51 ==  0 + 51 == 51
A = 1 :  1 * 2 + 51 ==  2 + 51 == 53
A = 2 :  2 * 2 + 51 ==  4 + 51 == 55
...
A = 22: 22 * 2 + 51 == 44 + 51 == 95
A = 23: 23 * 2 + 51 == 46 + 51 == 97
A = 24: 24 * 2 + 51 == 48 + 51 == 99
Что соответствует всем вашим критериям.


CPallini

5.

Рейтинг:
1

CPallini

Цитата:
51-99, но проблема говорит, что диапазон 50-99.
Действительно, это диапазон. Но, к сожалению 50 является четным, следовательно 51 это первая допустимая запись запрошенного диапазона.