Получить неповторяющееся случайное число
я хочу, чтобы математическое уравнение или функция получили число между двумя числами .. например, два числа-это 5 и 10 .. когда я отправлю 5, будет выполнен процесс и возвращено число, например, 7, этот результат не будет повторен .. и когда я отправлю 8 . вернется, например, 10
Что я уже пробовал:
вот вам пример
void main() { int from1 =5,to=10; for(int a=from1 ;a<=to;a++) { int result=gen(from1 ,to,a); } } int gen(int min , int max,int value) { //The result is generated by a calculation based on three values, and this //result will not be repeated //The result is between the smallest value and the largest value return result; }
Я использовал много методов, но все они хранятся в памяти, и я не хочу этого. например
void not_good() { var ran = Enumerable.Range(from, to).OrderBy(x => Guid.NewGuid()); foreach (int i in ran) { } ///////////////// List<int> listNumbers = new List<int>(); int number; for (int i = from; i < to; i++) { do { number = rand.Next(from, to); } while (listNumbers.Contains(number)); listNumbers.Add(number); } }
и я использовал случайную функцию не решающую меня
gggustafson
И как бы вы сохранили знания о ранее сгенерированных значениях, не используя какую-либо форму хранения памяти?