Помогите решить задачу на C++ - Вопросы по С+

Вопрос Помогите решить задачу на C++

Регистрация
5 Дек 2013
Сообщения
76
Репутация
0
Спасибо
0
Монет
0
Забавный метод, одобряю. Только ты пользуешься "магической формулой" без ее понимания, вот и выходит чушь. rand() возвращает число от 0 до RAND_MAX. Операция остатка (%) возвращает числа от 0 до делителя (не включая), т. е. X%Y будет в диапазоне от 0 до Y-1. Тебе нужно число из диапазона minNum..maxNum. Для того, чтобы получить его из числа от 0 до Y-1, нужно увеличить это число на minNum, тогда 0+minNum станет minNum, а Y-1+minNum станет maxNum. Отсюда легко получить Y=maxNum-minNum+1. Итак, твоя формула rand()%(maxNum-minNum+1)+minNum.
 
Регистрация
23 Авг 2013
Сообщения
97
Репутация
0
Спасибо
0
Монет
0
А накой тут рандом то? Эта задачка за 7 итераций максимум. Выводишь середину диапазона (50). Если больше, то 51-100, если меньше, то 1-49. И так пока в число не упрёшься.
 
Сверху Снизу