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...