c隨機單個數作為一組,不重複之前出現的一組資料

2021-03-04 04:20:05 字數 3277 閱讀 1789

1樓:匿名使用者

arraylist al=new arraylist();do}

while(al.contains(你新產生的那組隨機數))

2樓:匿名使用者

listarr = new list();

random rnd = new random(guid.newguid().gethashcode());

string s;

do while (arr.contains(s));

arr.add(s);

c# 有一組數,每個數出現的概率不同,如何從這組數中隨機抽出幾個數,怎麼實現? 15

3樓:匿名使用者

static void main(string args)

////// 獲取若干個不同隨機數字

////// 數字與出現概率的配置

/// 獲取數字個數

///static listgetrandnumlist(dictionarysetting, int num)

return ret;

}///

/// 獲取單個隨機數字

////// 數字與出現概率的配置

///static int getrandnum(dictionarysetting)

random rand = new random();

double r = rand.nextdouble() * total;   //取一個隨機數,乘以總概率值,對映到總概率值的區間內

total = 0;

foreach (int key in setting.keys)

}return setting.keys.last();    //返回最後一個數,對應rand.nextdouble()隨機到1.0的情況}

c# 有一組數,每個數出現的概率不同,如何從這組數中隨機抽出幾個數,怎麼實現? 30

4樓:匿名使用者

1、按機率生成一個 int[100]的陣列,陣列裡1有1個,2有4個,3有5個,4有10個。。。按你的機率類推。

2、用random類生成0到99的數來取陣列的值。

3、如有生成重複的就放棄重來。

如何讓c#產生不重複的隨機數

5樓:匿名使用者

「隨機數 和 不重複 是相悖的兩個概念」。因此這個問題理論上無解。

隨機數,(一般c#中)指的是隨機生成的一個整型或者浮點型數字。

不重複,指的是在一個陣列中,每個元素都有唯一性。

(我們比方說,要生成10個不重複的隨機數)

如果在一個範圍內生成多個隨機數, 那麼肯定是會有生成「重複」的機率, 如果要做到不重複,1、要麼每次生成時,對範圍進行重新判定,

2、要麼是生成後,比對已生成的資料,如果相同就重新生成。

無論哪一種做法,都可以實現「生成一組看似隨機的不重複資料」,但是這個不能叫「隨機數」。

1、的做法是指定新範圍,從邊界規避掉重複的可能性,所以這一組10個資料其實取值範圍是不同的,因為不能叫做「同一組隨機數」。

2、的做法其實是會生成重複隨機數的, 只是我們把它過濾掉了,因此也不是「不重複隨機數」。

所以這個問題如果不去鑽牛角尖,有這麼兩種簡單做法去實現,如果嚴謹的去**,其實是個悖論。

6樓:暖蘭菲

要不重複的話,就用guid類把

guid g = guid.newguid(); //建立一個guid的物件

console.writeline(g.tostring());//然後tostring() 你用控制檯輸出看看,這種隨機產生的十六進位制數字,會重複的機率幾乎沒有。

7樓:匿名使用者

static double buf = 0.5;

private static double ran()while (math.abs(num - buf) < 0.000001);

buf = num;

return (num);

}//0.00001表示接近於0的實數(伊普斯龍)//主程式呼叫 ran()即可,例如: r=ran();

***************===分割線********************

如果程式較小:可以如下

private static double ran()

8樓:匿名使用者

如果你的隨機數是整數,那麼不可能不重複。隨機數的產生次數,超過了整數的範圍,必然會出現重複。如果不考慮範圍的問題,每次產生隨機數後,把它記下來,用於檢查下次隨機數是否重複。

如果不是整數,你可以用guid來避免重複

c#如何生成一個不重複隨機陣列

9樓:乁

隨機產生陣列的下標,不直接產生數,我舉隨機產生0~9的隨機數int num = new int[10];

int newnum = new int[10];

int i,r = 9;

int n;

int tmp;

random rand = new random();

for (i = 0; i < 10; i++)//初始化這個陣列,0~9

///這個演算法只需要迴圈你的數範圍的次數而已for (i = 0; i < 10; i++)for (i = 0; i < 10; i++)", newnum[i]);

}console.read();

10樓:匿名使用者

////// 返回隨機陣列

////// 最小值

/// 最大值

/// 個數

///public int getrandomunrepeatarray(int minvalue, int maxvalue, int count)

array.sort(keys, items);

int result = new int[count];

array.copy(items, result, count);

return result;

}********************====//呼叫例項

int arr = getrandomunrepeatarray(1, 10, 10);

for (int i=0; i < arr.length; i++)

11樓:匿名使用者

for(int i = 0

1 33數字 為一組數字不重複 和值為93的話 一共有多

1 如果只有1 2 3 4 5 6就只能組成一組即1 2 3 4 5 6 2 如果有1 2 3 4 5 6 7就可以組成兩組即1 2 3 4 5 6和2 3 4 5 6 7 可見其公式為 組成的組數 數的個數 6 1 3 根據公式1 33共33個數,組成的組數為33 6 1 33 5 28 組 總共...

如何在excel中隨機產生為一組的資料

你這bai310人都輸入到excel裡,記得du輸成一列,然後在第二 zhi列的第一行輸入 rand 然後往下dao拉,這個時候會在回這一列產生小於1且大於零的隨答機數,再選中這兩列,對這個隨機數進行排序,前30為一組,30 60也有一組,以此類推.excel如何從一組資料中隨機選擇一組資料?1 電...

有兩組數,第一組數的平均數是12 8,第二組數的平均數是10 2,而這兩組數總的平均數是12 02,第一組與第

第一組數 的平均抄數和兩組襲 數的總的平均數 相差bai 12.8 12.02 du0.78 第二組數的平均數和兩組zhi數的總dao的平均數相差 12.02 10.2 1.82 0.78 第一組個數 1.82 第二組個數可以求出第一組 第二組 7 3 所以第一組有7個數 或7個數的倍數 第2組有3...