1樓:
private const int num = 3; //數目
private const int maxvalue = 5; //最大數
private const int minvalue = 1; //最小數
public int sort(int num) }
}return num;
}public int getnum(int arrnum, int tmp, int minvalue, int maxvalue, random ra)
n++;
}return tmp;
}public string getrandomnum(int num, int minvalue, int maxvalue)
this.sort(arrnum);
for (int i = 0; i return strnum; }this.getrandomnum(rednum, redminvalue, redmaxvalue).trim(); 輸出這個值,呼叫這個方法就可以了,總結了這些方法你以後不關多少範圍和幾個不重複只要改最上面3個變數就行了。不要為了簡單而簡單...... 連隨即成聲的數排序功能都實現了 2樓:匿名使用者 int i1=r.next(5); int i2=r.next(5); while (i2=i1) i2=r.next(5); int i3=r.next(5); while(i3=i2||i3=r1) i3=r.next(5); 大體上就是這個意思了 本人不是學c#的,估計會有語法的錯誤,你能看懂就行了 c#最簡單的不重複隨機數生成 3樓:丁洪飛 string temp = ""; //臨時容器int n =0; random rd = new random(); while(n <10) else }console.readline(); 4樓:安靜的 去看看這個吧 類似的!希望對於有幫助! 如何讓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# winfrom 隨機生成5個在0 到50直接的隨機數,切不重複,怎麼實現啊 9樓:斬光_者 主要函式: public listgetnum() else else}} return result;} 10樓:匿名使用者 random r = new random(); dictionarydic = new dictionary(); while (dic.count + 1 < 6)這個不是正態隨機 c# 如何生成不重複的1-100隨機數。 11樓:匿名使用者 有兩種思路:1、隨機生成一個1-100的數,然後判斷重複,如果重複再生成一次; 2、建立一個陣列,元素內容為1-100,對元素隨機排序。 請參考下面的** public void generaterandomnums()value = rand.next(1, 21); if (!list.contains(value))}foreach (int temp in list).", temp);}} 第二種思路: int a = ; int b = a.orderby(x => guid.newguid()).toarray(); foreach (int v in b) console.writeline(v); console.readkey(); 12樓:陽光的雷咩咩 random r = new random(); int nums = enumerable.range(1, 100) .orderby(x => r.next()).toarray(); foreach (int n in nums)console.writeline(n); c#生成6個隨機數,要求1到33之間不重複的隨機數,要最簡單的寫法 13樓:匿名使用者 很早以前用過那隨機數的方法,不能保證不重,只能生成一個記下來再生成一個匹配一下 14樓: int xl = new int(); int tmp = 0; string output = "the numbers are: "; random rd = new random(); for (int i = 0; i < 33; i++)for (int i = 0; i < 6; i++)return output; 15樓:智翊端秋穎 1-33放在一個集合裡面,隨機數=1到集合長度。隨機一個,就取出集合對應位置的數字,並且刪除這行。繼續隨機數=1到集合長度,再取。 迴圈6次就完了。 c#生成制定範圍和數量的隨機數,要求不重複 16樓:**最大功能 listlist = new list();//用來存放所要的隨機數random r = new random(); for (int i = 0; i < 5; i++)//弄5個隨機數 else} 解題思路 這個題目要解決兩個問題 一是產生隨機數 二是不能重複。第一個問題 產生隨機數。在c 中要產生隨機數必須用到兩個函式 srand 和rand 函式,使用這兩個函式必須包含標頭檔案 其中rand 是產生一個偽隨機數,比如 int a rand 函式返回值的取值範圍是int型別的取值範圍,如果要... random類預設的無參構造來 函式可自以根據當前系統時鐘為種子,進行一系列演算法得出要求範圍內的偽隨機數。random rd new random rd.next 1,10 生成1 10之間的隨機數,不包括10 guid 類 guid globally unique identifier 全球唯一... 使用函式 rand 舉例 int rrr rand 100 則產生 0,99 的隨機數 使用時請增加包含檔案 include c語言怎樣產生一定範圍的隨機數?編譯環境為 vs2013 產生1到3的整型隨機數的 如下 include include include define max 3 這個函式的...c 中產生不重複的隨機數
c怎樣生成隨機數C怎樣生成隨機數
C語言中如何產生隨機數及其原理,C語言中如何產生一個隨機數及其原理