daemon_n, нет. Если тебе нужно сгенерировать число, скажем, от 0 до 99, но исключить 50 и 70, то есть алгоритм лучше вечного перебора:
1) Сгененерируй число от МИН до МАКС - 2, где 2 — число дыр или запрещённых чисел.
2) Если выпало 50, то результат будет МАКС - 1. Если выпало 70, то результат будет МАКС.
То есть ты создаёшь ссылки с отсутствующих элементов на реальные, а сами реальные из начальной генерации исключаешь.
Я запоминаю максимальный индекс для генерации как МАКС - 2. Затем навигацию отсылаю на этот индекс + 1 = МАКС - 1, а некромантию на индекс + 2 = МАКС.
Или играешь ты в броски кубика 1-6. Нужно получить число 1-7, исключая 5. Тогда если выпадет 5, ты зачтёшь это за 7.