1樓:
寫個方法,**如下,需要的時候呼叫下。
bool noselect=new bool[443]; 是否已選。
int isselect=new int[139]; 被選中的數的集合。
int allnumber=new int[443]; 1-444數字的集合。
為allnumber中的每乙個元素賦值,allnumber[0]-allnumber[443]的值就是1-444
for(int i=0;i<;i++)
allnumber[i]=i+1; /allnumber[0]=1, 依次遞推,到allnumber[443]就是444
int index=0
while (index<139)
random rd = new random();
int temp = ;/不斷的產生1-139的隨機數,用來作為陣列索引下標。
if (noselect[temp]==false)//判斷是否未選,未選調入if語句內進行新增所產生的隨機數。
isselect[index]=allnumber[temp]//注意temp!!!allnumber[temp]和noselect[temp]中的temp都是所產生的同乙個隨機數。
allnumber[temp]=true; /新增完後把他bool值改成true,也就是已選。
index++;
上面的**所產生的139個在1-444的隨機數都在isselect陣列中了,
2樓:他爹您破
那個i應該<444吧!這樣才能取到1-444之間的139個隨即數吧!我再幫你查查!
c#如何實現對一定範圍內數字的隨即抽取?最好不重複
3樓:忘掉壞情人
string r ;
random ran = new random();
r =, 10000).tostring();
範圍1 ,範圍2),很簡單的,懂了?〉
從01-33中取a個陣列成a組,b個組成b組(a和b中的數不能重複)然後在a組中取c個(0<=c<=6)進行組合
4樓:網友
最簡單就是窮舉法吧。
如果你取的動作不是連續取的話 感覺和從1-33中選6個數沒什麼區別啊 基本每個組合都能出現吧。
如果我沒理解錯 參考這個。
5樓:網友
雙色球,繞來繞去哦,沒什麼方法哦。
asp取隨即不重複數的問題
6樓:網友
mac=split("a,b,c,d,e,f,g",",")for i=1 to ubound(mac)-1nextfunction getrnd(bound)dim rannum
randomize()
rannum=int(bound*rnd)>0 then rannum = getrnd(bound)getrnd = rannum
end function
你這樣寫看看是不是就對了。
你的那個getrnd函式也沒錯,在vb中0和null就是假值。
所以不用》0也可以。
豪情幾許 23:33:21
跟我的**有什麼區別?
請問如何在excel中隨即抽取數字不重複抽取的數字
7樓:網友
是在1~40間隨機取7個不同的整數吧?用下面的vba**就行。開啟vba視窗,貼進去,執行一下就得。同理,把其中的條件改一下,就可以取不同範圍的不同個數的整數。
option explicit
private sub rand7from40()dim i, j, k, n as singlei = 1
while i <= 7
randomize
n = 1 + int(40 * rnd())k = 1
for j = 1 to i
if j = cells(j, 1) thenk = 0
exit for
end if
next j
if k then
cells(i, 1) = n
i = i + 1
end if
wendend sub
8樓:網友
在7個單元格里面都分別寫上:=40*int(rand())
然後回車就可以了。
j**a裡取10個1-100隨即數並且不重複怎麼寫**?
9樓:撒白風
import ;
import ;
import ;
import ;
public class randomtest {public static void main(string args){
random random = new random();
set numberset = new hashset();
while(<10){
int rand = ;
integer(rand));//set中是不能放進重複的值的,當它有10個時,就滿足你的條件了。
for(iterator it=;;
10樓:網友
int a=new int[10];定義陣列長度為10int b=0;
int number=0;
while (number<10){
b=(int)(;//產生隨機數為1到100之間的數強制取整。
進行判斷所產生的數是否重複,若已經有了則重新產生。
a[number]=b;
number++;
陣列a存放了10個不重複的1到100之間的隨機數。
11樓:網友
import ;
public class sjshu
private int a;
private int b,i=0,j=0;
public sjshu()//取10個隨即數存入陣列a[i]並列印輸出。
random random=new random();
a=new int[10];
while(i<10)
if(i==0)
a[i]=1+;
elsea[i]=judge(i,a);
i++;for(j=0;j"\t");
int judge(int i,int a)//判斷取的隨即數有無與陣列已存元素重複。
random random=new random();
j=0;b=1+;
while(b!=a[j]&&jj++;if(b==a[j]) judge(i,a);
return (b);
public static void main(string args)
sjshu mysjshu=new sjshu();
12樓:單刷暴風城
可以設定乙個陣列,每取道乙個就放到陣列當中,放之前先索引一下陣列中是不是已經有這個數了,如果有就再生成以下隨機數,沒有直接寫入陣列。
恩,思路就是這樣的,實現起來你肯定沒問題啦。
c#取不重複隨機數
13樓:時針樓
保證所取的隨機數不重複,不過你寫的有問題,取出來的隨機數是a[b]沒有儲存。
14樓:網友
初始化了乙個0-99的陣列,每次隨機從中取乙個,然後把這個刪掉。當然不會重複,並且是隨機的。
15樓:
因為這個可以實現隨機的目的啊,不過這個演算法效能不算怎麼好的。
8個數字中任意取3個數字的組合,重複的多少,不重複的多少?
16樓:網友
重複的就是8的三次方,不重複就是8*7*6
C生成1 20隨機數不重複,C 如何生成不重複的1 100隨機數。
public void generaterandomnums value rand.next 1,21 if list.contains value foreach int temp in list temp c 如何生成不重複的1 100隨機數。有兩種思路 1 隨機生成一個1 100的數,然後判斷...
c 中產生不重複的隨機數
解題思路 這個題目要解決兩個問題 一是產生隨機數 二是不能重複。第一個問題 產生隨機數。在c 中要產生隨機數必須用到兩個函式 srand 和rand 函式,使用這兩個函式必須包含標頭檔案 其中rand 是產生一個偽隨機數,比如 int a rand 函式返回值的取值範圍是int型別的取值範圍,如果要...
sql重複資料只取一條記錄,sql根據某一個欄位重複只取第一條資料
baby 原來 1 sql select distinct 語句在表中,可能會包含重複值。這並不成問題,不過,僅僅列出不同 distinct 的值。語法 select distinct 列名稱 from 表名稱select distinct company from orders 2 子查詢限制返回...