C 取隨即不重複數,ASP取隨即不重複數的問題

時間 2025-03-01 22:25:15

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 子查詢限制返回...