Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

как сгенерировать случайные числа без повтора. Язык С#

Павел Писоцкий Знаток (270), закрыт 11 лет назад
Лучший ответ
ra Высший разум (113244) 11 лет назад
Ну можно подумать и как-то преобразовать код из этого http://otvet.mail.ru/answer/436561981 ответа.

Вот тебе вариант с множеством:

var hs = new HashSet<int>();
var rnd = new Random();
var rndnum = 0;
var n = 10;
while (n-- > 0) {
while (hs.Contains(rndnum = rnd.Next(0, 20))) ;
hs.Add(rndnum);
Console.WriteLine(rndnum);
}

Количество нужных номеров n должно быть меньше (а лучше много меньше) , чем диапазон случайных чисел. В данном примере получаем десять случайных чисел, а диапазон от 0 до 19 ( rnd.Next(0, 20) )
Остальные ответы
Похожие вопросы