Рандомное нечетное число в диапазоне

fri-lancer

Client
Регистрация
01.10.2013
Сообщения
418
Благодарностей
156
Баллы
43
Подскажите можно ли сгенерировать рандомное нечетное число в диапазоне например от 100 до 300?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
1) Можно в коде
2) Зачем
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 340
Благодарностей
9 088
Баллы
113
наверное только через костыли, например:

- рандом генерация от 101 до 300 (сгенерится число от 101 до 299)
- проверка деления на 2, с остатком (со знаками после запятой) или без
- если с остатком, то тогда число - нечетное
- работа с этим числом
- если без остатка, то зацикливаем снвоа на рандом
 

fri-lancer

Client
Регистрация
01.10.2013
Сообщения
418
Благодарностей
156
Баллы
43
1) Можно в коде
2) Зачем
1) сложно?
2) нужно в тайтл заполнять, ооочень много страниц

наверное только через костыли, например:

- рандом генерация от 101 до 300
- проверка деления на 2, с остатком (со знаками после запятой) или без
- если с остатком, то тогда число - нечетное
- работа с этим числом
- если без остатка, то зацикливаем снвоа на рандом
спасибо, нужно попробовать
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
Нечетные то зачем?
 

fri-lancer

Client
Регистрация
01.10.2013
Сообщения
418
Благодарностей
156
Баллы
43
Нечетные то зачем?
такая вот задача у меня
решил сделать по другому, записать все нечетные числа от 100 до 300 и брать их рандомно из "обработка текста" - "spintax" так наверное будет проще
 

Irbis

Client
Регистрация
02.03.2014
Сообщения
195
Благодарностей
120
Баллы
43
Код:
Random rand = new Random();
            int i = 0;
            while (i % 2 == 0)
            {
                i = rand.Next(1, 300); // 1 - нижняя граница, 300 - верхняя
            }
            return i;
 

kyvour

Активный пользователь
Регистрация
17.05.2014
Сообщения
186
Благодарностей
36
Баллы
28
Код:
Random rand = new Random();
int i = rand.Next(0, 300); // выберется число от 0 до 299 включительно
if (i % 2 == 0) {
  i += 1;
}
return i
 
Последнее редактирование:

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)