1樓:魔法軟糖
你好,請使用下面的函式來生成。包括不重複的隨機數。
#region rnd隨機整數(指定範圍)
/// 生成一個指定範圍的隨機整數,該隨機數範圍包括最小值和最大值
/// 最小值
/// 最大值
public static int rnd(this int i, int minnum, int maxnum)
/// 生成不大於最大值的隨機非負整數,該隨機數範圍包括最大值
/// 最大值
public static int rnd(this int i, int maxnum)
/// 生成不大於該值的隨機非負整數,該隨機數範圍包括最大值
public static int rnd(this int i)
/// 生成一個指定範圍的隨機整數,且必須整除aliquot,該隨機數範圍包括最小值和最大值
/// 最小值
/// 最大值
public static int rnd(this int i, int minnum, int maxnum, int aliquot)
#endregion
#region rnds多個不重複隨機整數(指定範圍)
/// 產生int個1到max之間的整數陣列。
public static int rnds(this int 個數, int max)
/// 產生一個min到max的陣列,指定int個數(零和負數預設為等於整個區間)。
public static int rnds(this int 個數, int min, int max)
int count = max - min + 1;
if (個數 < 0)
if (個數 > count)
hashsetlist = new hashset();
//個數不到70%可用區間時,用新增法,否則用排除法
if (個數 < (count * 0.7)) else }}
return list.toarray();
} else
//排除個數
int 排除個數 = count - 個數;
for (int x = 1; x <= 排除個數; x++) else
}return list.toarray();}}
#endregion
#region 隨機小數(指定範圍)
/// 生成和該值位數一致的隨機非負小數,該隨機數範圍包括最大值
public static double rnd(this double d)
string str = d.tostring();
int k = str.indexof(".");
if (k + 1 >= str.length)
string str2 = str.substring(k + 1);
int 位數 = str2.length;
int maxnum = int.parse(str.replace(".", ""));
int i = 系統隨機數.next(0, maxnum + 1);
return 位數.dot1() * i;
}/// 生成隨機非負小數,並指定位數,該隨機數範圍包括最大值
public static double rnd(this double d, int 位數)
string str = d.tostring();
int maxnum = int.parse(str.replace(".", ""));
int i = 系統隨機數.next(0, maxnum + 1);
return 位數.dot1() * i;
}/// 生成和該值位數一致的隨機非負小數,該隨機數範圍包括最小值和最大值
public static double rnd(this double d, double mindou, double maxdou)
string str = d.tostring();
int k = str.indexof(".");
if (k + 1 >= str.length)
string str2 = str.substring(k + 1);
int 位數 = str2.length;
int p10 = 位數.pow10();
mindou = mindou.ceil();
int minnum = (int)(mindou * p10);
int maxnum = (int)(maxdou * p10);
//如果最小值大於最大值,交換之。
if (minnum > maxnum)
int i = 系統隨機數.next(minnum, maxnum + 1);
return 位數.dot1() * i;
}/// 生成隨機非負小數,並指定位數,該隨機數範圍包括最小值和最大值
public static double rnd(this double d, int 位數, double mindou, double maxdou)
int p10 = 位數.pow10();
int minnum = (int)(mindou * p10);
int maxnum = (int)(maxdou * p10);
//如果最小值大於最大值,交換之。
if (minnum > maxnum)
int i = 系統隨機數.next(minnum, maxnum + 1);
return 位數.dot1() * i;
}/// 生成不大於該值的隨機非負小數,該隨機數範圍不包括最大值
public static double rndin(this double i)
/// 生成不大於最大值的隨機非負小數,該隨機數範圍不包括最大值
/// 最大值
public static double rndin(this double i, double maxdou)
/// 生成一個指定範圍的隨機小數,該隨機數範圍不包括最大值
/// 最小值
/// 最大值
public static double rndin(this double i, double mindou, double maxdou)
return 系統隨機數.nextdouble() * (maxdou - mindou) + mindou;
}/// 產生double(取整)個0到max之間的隨機小數陣列。
public static double rnds(this double 個數, double max)
/// 產生double(取整)個min到max之間的隨機小數陣列。
public static double rnds(this double 個數, double min, double max)
if (個數 < 1)
hashsetlist = new hashset();
for (int x = 0; x < 個數; x++) else }}
return list.toarray();
}#endregion
2樓:司馬刀劍
random r = new random(); int num = r.nextinteger(1,101); 這樣隨機數才是1-100.那個函式是不包括上限在內的
3樓:聽不清啊
可以用int x=rand()%100+1;
來得到。
c#怎麼實現取1-100之間的隨機數
4樓:匿名使用者
random r = new random();
int num = r.nextinteger(1,101);
這樣隨機數才是1-100.那個函式是不包括上限在內的
5樓:草薙在
new random().nextinteger(1,100)
6樓:匿名使用者
random ui = new random();
int myint = ui.next(1,101);
7樓:努力_蝸牛
random r = new random();
int number = r.nextinteger(1,101);
1-100的隨機數
8樓:愛貓膩老婆子
使用random寫唄..
c#中如何產生一個0~100的隨機數?
9樓:匿名使用者
using system;
class program}
.net c#陣列問題 宣告一個100大小的陣列 隨機插入1-100之間的數,不能重複
10樓:匿名使用者
mylist.count < 100是正確的 while (mylist.count < 100) 這個迴圈是從mylist.
count =0開始的,當mylist.count =100時停止,也就是0-99迴圈了100次,不知道你看明白沒 沒明白就多問哈
11樓:
小於100只會加到99,如果要把100也加上,可以<=,也可以<101
12樓:匿名使用者
int intarr = new int[100];
arraylist mylist = new arraylist();
random rnd = new random();
while (mylist.count < 100)for (int i = 0; i <100; i++)
13樓:
mylist.count < 100是對的。
這**寫的也太沒水準了,呵呵。
14樓:匿名使用者
static void main(string args)}}
for(int j=0;j<10;j++)
}static int product_data()
c#中生成n個(1-100)之間的隨機數???
15樓:憶夢瀟湘
random rnd=new random;
int randoms = new int[1000];
for(int i=0;i<1000;i++)注意:這樣隨機是可能出現重複值的。
16樓:匿名使用者
random rd = new random();
i=rd.next(99);
用c# 隨機產生20個位於1-100之間的數,並且產生的數各不相同
17樓:
寫一個迴圈
定義一個陣列
對每次生成的隨機數和陣列內的值比較,不存在就加到陣列裡
18樓:匿名使用者
random ro=new random(unchecked((int)datetime.now.ticks));
// 方法1:指定隨機數上下限,產生上下限中的隨機整數
string roint=ro.next(1,20).tostring();
response.write("roint="+roint+"
");// 方法2:返回系統時間作為隨機種子的隨機整數
string roint2=ro.next().tostring();
response.write("roint2="+roint2+"
");// 方法3:指定最大值非負隨機整數
string roint3=ro.next(10).tostring();
response.write("roint3="+roint3+"
");// 方法4:生成0.0和1.0之間的隨機數
string rodouble=ro.nextdouble().tostring();
response.write("rodouble="+rodouble+"
");你只需要做20個迴圈,然後參照上面的**,即可寫出!
怎麼用rand函式產生範圍內的數
產生a b範圍內的隨機數 包含a,b a rand b a a rand b a 產生的只是a到b 1,因此可以換成a rand b a 1 來產生a到b.在excel中可以使用randbetween函式。randbetween 返回位於指定的兩個數之間的 一個隨機整數。每次計算工作表專時都將返回一...
有理數範圍的意思是什麼,實數範圍內意思是什麼
有理數是可以寫成兩個整數之比的數,包括整數 有限小數和無限迴圈小數。無理數是無限不迴圈小數。有理數和無理數合稱實數。實數是相對虛數而言的。有理數範圍的意思是什麼,實數範圍內意思是什麼 實數和複數是一對相對的概念,如果你還沒有接觸到複數,那麼你現階段遇到的所有數都是實數。有理數和無理數是一對相對的概念...
excel中如何統計某個範圍內數值出現的次數?例如有一些資料為1 2,2 1,2 8,3 0,5 8,
countifs a1 a1000,0 a1 a1000,5 a1 a1000是範圍,2個範圍要一樣,複數列的話就都選上,比如 a1 h1000。0和5如果包含其中的話,要加上等號,如樓下 sumproduct a1 a1000 0 a1 a1000 5 countif a1 a100,0 coun...