نوشتن یک تابع که به صورت تصادفی عدد تولید کند
میخواهم تابع random generator را شبیه سازی کنم به صورتی که از یک تا 1000 را به صورت تصادفی تولید کند و در 1000 عددی که تولید می کند 60 درصد داده ها منحصربفرد باشند لطفا کمکم کنید. از تابع random در C# نمیخوام استفاده کنم خودم تابع رندوم را شبیه سازی کنم.
نقل قول: نوشتن یک تابع که به صورت تصادفی عدد تولید کند
نقل قول: نوشتن یک تابع که به صورت تصادفی عدد تولید کند
سلام
به این شکل میشه تولید کرد
int[] RandomArray = Enumerable.Range(1,1000).ToArray();
Random rnd = new Random();
byte[] key = new byte[1000];
rnd.NextBytes(key);
Array.Sort(key,RandomArray);
int[] mabaghi = new int[400];
bool[] index = new bool[400];
Array.Copy(RandomArray, 600, mabaghi, 0, 400);
int idxrnd;
int i = 600;
while (i < 999) {
idxrnd = rnd.Next(0,400);
if (index[idxrnd]) {
RandomArray[i++]=mabaghi[idxrnd];
}
else{
RandomArray[i++]=mabaghi[idxrnd];
RandomArray[i++]=mabaghi[idxrnd];
index[idxrnd] = true;
}
}
if (i < 1000) {
RandomArray[i] = RandomArray[rnd.Next(600, 999)];
}
rnd.NextBytes(key);
Array.Sort(key, RandomArray, 600, 400);