




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
VB生成不重復(fù)的隨機(jī)數(shù)VB生成不重復(fù)的隨機(jī)數(shù)我的建議是:第一步、先做一個(gè)數(shù)組,存上這35個(gè)數(shù)(可以不是連續(xù)的數(shù),也可以是人名、字符串什么的);第二步、隨機(jī)生成一個(gè)1-35之間的數(shù),輸出;第三步:把這個(gè)數(shù)和數(shù)組的第一個(gè)單元交換;第四步、從數(shù)組的第2-35之間隨機(jī)抽取第二個(gè)數(shù),輸出;第五步、把這隨機(jī)抽取的第二個(gè)數(shù)和數(shù)組的第二個(gè)單元內(nèi)容呼喚;第六步、隨機(jī)抽取第三個(gè)數(shù),輸出。。。。。重復(fù)到從第35-35個(gè)數(shù)之間隨機(jī)抽取一個(gè)數(shù),這時(shí)直接輸出最后一個(gè)就行了。程序如下(VB6):工程里默認(rèn)的窗體上,畫一個(gè)Command1,粘貼程序:optionexplicitprivatevArray(1to35)ascurrency'定義數(shù)組個(gè)數(shù)privatesubcommand1_click()testendsubprivatesubInitArray()dimiaslong'給數(shù)組賦值fori=1to35varray(i)=inextiendsubprivatesubTest()dimiStartaslongdimiPosaslongdimvTempascurrencydimsReturnasstringInitArrayrandomizetimer'設(shè)置隨機(jī)因子,使其每次運(yùn)行程序的隨機(jī)數(shù)都不一樣iStart=1doiPos=int(rnd*(ubound(vArray)-iStart+1))+iStart'產(chǎn)生iStart到35(35取自vArray的上標(biāo))之間的整數(shù)sReturn=sReturn&vArray(iPos)&vbcrlf'輸出'交換單元內(nèi)容vTemp=vArray(iStart)vArray(iStart)=vArray(iPos)vArray(iPos)=vTempiStart=iStart+1'下次隨機(jī)生成時(shí),少生成一個(gè)ifiStart>=ubound(vArray)then'最后一個(gè)了,直接輸出sReturn=sReturn&vArray(ubound(vArray))ExitDoendififiStart>7thenexitdo'如果需要生成幾個(gè)數(shù),就把7改成幾,大于數(shù)組元素的個(gè)數(shù),將輸出速度的元素個(gè)數(shù)(這個(gè)例子是35)LoopmsgboxsReturn'msgbox輸出結(jié)果endsub'=============================================================================================='方法二PrivateSubCommand1_Click()Dima(35)AsIntegerFori=0To35way1:Randomizea(i)=Int(Rnd()*36)+1Ifi>1ThenForp=0Toi-1Ifa(p)=a(i)Then'‘與前面的對(duì)比,如果有重復(fù),重新隨機(jī)GoToway1EndIfNextpEndIfPrinta(i);'打印NextiPrint""'打印EndSub'=========================================================================================='方法三如果樓主是要產(chǎn)生0-9等10個(gè)不重復(fù)的隨機(jī)數(shù)的話,在隨機(jī)數(shù)范圍和個(gè)數(shù)相等Ary(i)=i+1NextRandomize''計(jì)算并為s分配足夠的大小,下面是當(dāng)n=MAX_N+1時(shí)最終的s的長(zhǎng)度的精確值'i=MAX_N+1:p=0:ps=9'DoUntili<=9'p=p+1'n=n+ps*p'ps=ps*10'i=i\10'Loop'n=n+(p+1)*(MAX_N-CLng(10^p)+2)+MAX_N's=String$(n,",")n=MAX_N\2'要取的個(gè)數(shù),取所有的話用MAX_N+1'計(jì)算并為s分配足夠的大小s=String$(n*Len(CStr(MAX_N+1)),",")'分配足夠大的內(nèi)存,以后再減p=0:ps=1DoUntilp>=ni=CLng(Rnd*(MAX_N-p))sTemp=CStr(Ary(i))Mid$(s,ps,Len(sTemp))=sTempps=ps+Len(sTemp)+1Ary(i)=Ary(MAX_N-p)'如果不想破壞數(shù)據(jù),把這里改成2個(gè)元素交換,而不是簡(jiǎn)單賦值p=p+1'拋棄數(shù)組最后一個(gè)元素Loops=Left$(s,ps-2)'去掉多余的部分t=timeGetTime-tDebug.Prints'輸出Debug.PrintCStr(t),Len(s)EndSub'==============================================================='方法七:(最快)OptionExplicitOptionBase1PrivateDeclareFunctiontimeGetTimeLib"winmm.dll"()AsLongConstNums=10000PrivateSubCommand1_Click()DimtAsLongDimNum(Nums)AsLongDimi,nAsLongDimsAsStringt=timeGetTimeRandomizeFori=1ToNumsn=I
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中信息技術(shù)課課件下載
- 人工智能與文化科技融合創(chuàng)新模式研究報(bào)告
- 初中信息技術(shù)課件模版
- 妊娠與妊娠診斷
- 安全教育實(shí)踐
- 二零二五年度制造業(yè)實(shí)習(xí)生錄用合同
- 2025版主題餐廳承包經(jīng)營(yíng)合同示范文本
- 二零二五年DJ音樂制作公司聘用合同
- 二零二五年度智能倉(cāng)儲(chǔ)配送與大數(shù)據(jù)分析合同
- 口腔根管治療病例分析及操作規(guī)范
- 2025屆黑龍江省大慶中學(xué)九上化學(xué)期末聯(lián)考試題含解析
- 20濕性愈合功能性敷料的種類與敷料選擇
- 2025消防安全知識(shí)培訓(xùn)試題及答案
- 燃?xì)鈭?bào)警器行業(yè)發(fā)展分析及投資戰(zhàn)略研究報(bào)告2025-2028版
- 2025年中國(guó)扭蛋行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 2025至2030中國(guó)現(xiàn)金處理中心行業(yè)發(fā)展趨勢(shì)分析與未來(lái)投資戰(zhàn)略咨詢研究報(bào)告
- 2025年湖南省中考?xì)v史試卷真題(含答案解析)
- 小學(xué)音標(biāo)題目及答案
- 2024年宿州蕭縣縣直事業(yè)單位招聘真題
- 美好生活大調(diào)查:中國(guó)居民消費(fèi)特點(diǎn)及趨勢(shì)報(bào)告(2025年度)
- Q-GDW10162-2025 輸電桿塔固定式防墜落裝置技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論